Zajęcia 1 - Wykorzystanie Pythona

Zajęcia 1 - Wykorzystanie Pythona
Photo by Zach Graves / Unsplash

Czym jest Python?

Python is a high-level, interpreted programming language with a simple syntax, which makes it easily readable and extremely user- and beginner-friendly.

To, że Python jest językiem interpretowanym oznacza, że kod w nim napisany jest wykonywany bezpośrednio przez interpreter, linia po linii, zamiast być wcześniej kompilowanych do kodu maszynnowego, który jest uruchamiany przez procesor.

Interpreter to program komputerowy, który wykonuje kod źródłowy napisany w języku programowania poprzez bezpośrednie tłumaczenie i uruchamianie go linia po linii. W przeciwieństwie do kompilatora, który przekształca cały kod źródłowy w kod maszynowy (binarny) przed jego uruchomieniem, interpreter przetwarza kod na bieżąco, odczytując go, tłumacząc i wykonując instrukcje jedną po drugiej.

Python został stworzony we wczesnych latach 90 przez Guido van Rossum i a jego nazwa została zainspirowana serialem komediowym emitowanym w latach siedemdziesiątych - Monty Python’s Flying Circus.

Python można nazwać jezykiem ogólnego przeznaczenia - może być on wykorzystywany w różnorodnych aplikacjach. Jest doskonałym wyborem przy automatyzacji zadań, budowaniu stron internetowym lub oprogramowania oraz przy analizie danych.

Python charakteryzuje między innymi jego łatwość w odczytywaniu (składnią bardzo przypomina język angielski) oraz łatwość w przenoszeniu (Python jest jezykiem wielopratformowym co oznacza, że ten sam kod można uruchomić na dowolnym systemie operacyjnym z zainstalowanym interpretem Pythona).

Do czego można użyć Pythona? Niemal do wszystkiego - od web i software development'u do machine learning'u czy artificial intelligence (AI).

  • Web i software development - umożliwia tworzenie złożonych i multi-potokołowych aplikacji (np. Brama SMS może obsługiwać różne protokoły do wysyłania i odbierania wiadomości tekstowych, takie jak SMPP oraz HTTP.
  • Automatyzacja zadań - umożliwia zautomatyzowanie manualnych i powtarzalnych zadań. Dodatkowo Python posiada zestaw frameworków testowych (m.in. Pytest, Behave), co sprawia, że jest on świetnym wyborem do automatyzacji testów.
  • Machine learning i data science - dzięki prostej składni ludzie z niewielkim programistycznym doświadczeniem mogą z łatwością nauczyć się Pythona i manipulować danymi w celu prowadzenia badań, raportowania, analiz predykcyjnych i regresyjnyt etc. Python jest też najczęstrzym wyborem do szkolenia modeli uczenia maszynowego - dzięki odpowiednim algorytmom, modele te mogą annalizować i identyfikować wzorce w sanych, aby tworzyć prognowy lub podejmować decyzje na podstawie zebranych danych (używane są do tego m.in. bliblioteki NumPy, Pandas i Matplotlib).
  • Analizy finansowe - Python może być wykorzystywany do szybkiego wykonywania skomplikowanych obliczeń. Rynki giełdowe generują ogromne ilości danych, a Python może być używany do importowania danych o cenach akcji i tworzenia strategii za pomocą algorytmów w celu identyfikacji możliwości handlowych. Język ten może być również wykorzystywany do optymalizacji portfela, zarządzania ryzykiem, modelowania finansowego i wizualizacji, analizy kryptowalut, a nawet wykrywania oszustw.
  • AI - jest jednym z preferowanych języków do AI. Zwięzły i czytelny kod Pythona pozwala deweloperom tworzyć spójne i niezawodne systemy, a jego obszerna biblioteka oferuje szereg frameworków, takich jak PyBrain, który dostarcza potężnych algorytmów do zadań związanych z uczeniem maszynowym. Dodatkowo, możliwości wizualizacji w Pythonie mogą pomóc przekształcić duże zbiory danych dla AI lub ML w zrozumiałe wykresy lub raporty. Co ciekawe, OpenAI, laboratorium zajmujące się badaniami nad sztuczną inteligencją, wykorzystuje framework Pytorch jako standardowy framework do głębokiego uczenia, który szkoleni swoje systemy AI.

Żeby zacząć pracę z Pythonem, należy go zainstalować na komputerze. Instrukcję i instalkę można znaleźć tu. Żeby sprawdzić czy instalacja przebiegła pomyślnie w terminalu należy wpisać komendę:

python3 --version

Niezbędnym krokiem jest też instalacja środowiska programistycznego (IDE), który umożliwi pisanie kodu. Na zajęciach używamy Visual Studio Code. Jest to narzędzie do tworzenia, edytowania i debugowania kodu. Wspiera wiele języków programowania, w tym Pythona. VS Code można znaleźć tu.

Po instalacji należy dodać rozszerzenie, które ułatwi pracę z Pythonem.

Z uwagi na to, że obecnie jestem frontend developerem chciałabym po kursie być w stanie wykonywać aplikacje fullstackowe np.:

  1. Aplikacja to tworzenia domowego budżetu i śledzenia wydatków. Przykładowe funkcjonalności:
    • Możliwość rejestracji i logowania
    • Możliwość stworzenia "gospodarstwa domowego" i dodania do niego innych użytkownikow
    • Tworzenie budżetu domowego z podziałem na kategorie
    • Dodawanie wydatków i ich kategoryzowanie w obrębie gospodarstwa domowego ( możliwość sugerowania kategorii (?) )
    • Śledzenie postępu wykonania budżetu
    • Przedstawienie historycznych danych
    • Graficzne i tabelaryczne podsumowanie miesiąca
    • Alerty o przekroczeniu budżetu
  1. Aplikacja służąca do synchronizacji kalendarzy domowników
    • Tworzenie i zarządzanie wydarzeniami
    • Synchronizacja kalendarzy - automatyczne pobieranie wydarzeń z różnych kalendarzy, oraz dodawanie wydarzeń stworzonych przez aplikację do odpowiednich kalendarzy (np. google)
    • Udostępnianie całych kalendarzy/ ukrywanie niektórych wydarzeń
    • Widok zbiorczny domowników
    • Powiadomienia i notyfikacje
    • Dodawanie wydarzeń do wszystkich kalendarzy domowników

Dzięki kursowi Pythona chciałabym polepszyć swoją pozycję na rynku pracy. Na obecnym stanowisku jestem zależna od backend developerów co często mnie blokuje. Byłoby cudowne móc stać się bardziej niezależnym developerem.

Źródła:

Why Python keeps growing, explained
A deep dive into why more people are using Python than ever, its key use cases, and why it’s still so popular 30-plus years after it was first released.
Python – Wikipedia, wolna encyklopedia

Znalezione przy okazji przydatne linki:

GitHub - huangsam/ultimate-python: Ultimate Python study guide for newcomers and professionals alike. :snake: :snake:
Ultimate Python study guide for newcomers and professionals alike. :snake: :snake: :snake: - GitHub - huangsam/ultimate-python: Ultimate Python study guide for newcomers and professionals alike. :s…
GitHub - Asabeneh/30-Days-Of-Python: 30 days of Python programming challenge is a step-by-step guide to learn the Python programming language in 30 days. This challenge may take more than100 days, follow your own pace. These videos may help too: https://www.youtube.com/channel/UC7PNRuno1rzYPb1xLa4yktw
30 days of Python programming challenge is a step-by-step guide to learn the Python programming language in 30 days. This challenge may take more than100 days, follow your own pace. These videos m…