Przejdź do treści

Python Notatki

„Python Notatki” to podręcznik języka Python. Pierwsza część, „Python Podstawy”, prowadzi czytelnika od instalacji interpretera i przygotowania środowiska pracy, przez pierwsze eksperymenty w konsoli i systematyczne omówienie typów danych oraz konstrukcji języka, po programowanie obiektowe, wydajność, tablice NumPy, współbieżność i warsztat programisty. Druga część, „Python Zastosowania”, obejmuje biblioteki i ich zastosowania, ułożone w niezależne ścieżki do wyboru.

Stanem odniesienia jest Python 3.14 instalowany za pomocą narzędzia Python Install Manager w systemie Windows.

Python Podstawy

  1. Instalacja i środowisko pracy — Python Install Manager, pip, środowiska wirtualne, konfiguracja narzędzi
  2. Konsola — praca w konsoli interaktywnej i pierwszy skrypt
  3. Nazwy i typy — nazwy, typy proste, konwersje, obiekty i pamięć, operatory
  4. Sterowanie przepływem — instrukcje warunkowe, pętle i iteratory
  5. Typy złożone — lista, krotka, słownik, zbiory, złożenia
  6. Funkcje — definiowanie, argumenty, zasięg nazw i domknięcia, rekurencja, funkcje generatorowe, dekoratory
  7. Moduły, pakiety i biblioteka standardowa — moduły i import, skrypt jako program, argumenty wiersza poleceń, pakiety, struktura projektu i pierwsze testy, biblioteka standardowa i collections, functools, itertools
  8. Wyjątki i zarządzanie zasobami — obsługa i zgłaszanie wyjątków, styl EAFP i testy wyjątków, instrukcja with, diagnostyka i debugger, logowanie
  9. Wejście, wyjście i pliki — formatowanie tekstu, print i strumienie, animacje w terminalu, pliki tekstowe i binarne, ścieżki, CSV i JSON
  10. Klasy i obiekty — definicja klasy, atrybuty i metody, właściwości, dziedziczenie i własne wyjątki, cykl życia obiektu
  11. Model danych — metody specjalne i protokoły — przeciążanie operatorów, protokoły kolekcji i wywołania, iteracja, menedżery kontekstu i obiekty plikopodobne, deskryptory
  12. Programowanie obiektowe — mechanizmy zaawansowane — dziedziczenie wielokrotne i MRO, mixiny i klasy abstrakcyjne, klasy danych, wzorce projektowe, metaprogramowanie
  13. Wydajność i optymalizacja — pomiar czasu i profilowanie, optymalizacja kodu, drogi przyspieszania
  14. NumPy i Matplotlib — tablice ndarray, operacje wektorowe, wykresy w stylu obiektowym
  15. Współbieżność — wątki, procesy i GIL — wątki i GIL, synchronizacja, procesy i pule wykonawców, pomiary i asyncio
  16. Warsztat programisty i dalsza droga — pytest zaawansowany, adnotacje typów i mypy, Ruff, pre-commit i CI, co dalej

Python Zastosowania

Część „Python Zastosowania” składa się ze ścieżek — niezależnych, skończonych samouczków bibliotek: dane, uczenie maszynowe, aplikacje, automatyzacja. Każda ścieżka zakłada znajomość języka z części „Python Podstawy” i kończy się projektem spinającym jej narzędzia; wprowadzenie opisuje układ i wymagania.

Ścieżka danych

  1. Jupyter i warsztat danych — notatnik w VSC, środowisko projektu danych, czytanie dokumentacji bibliotek, pierwsza analiza
  2. NumPy w praktyce — tablice wielowymiarowe, statystyka i porządkowanie, algebra liniowa, losowość i symulacje, wydajność i pamięć
  3. Matplotlib w praktyce — anatomia wykresu, wykresy dla danych, szeregi czasowe, wiele paneli, wykres do raportu
  4. pandas — tabele — Series i DataFrame, wczytywanie i zapis, selekcja, typy i braki, przekształcenia
  5. pandas — analiza — grupowanie, tabele przestawne, łączenie tabel, szeregi czasowe, wydajność i potok
  6. Projekt: raport z danych — zadanie, dane i decyzje, potok z testami, raport z rysunkami i tabelami

Ścieżka uczenia maszynowego

  1. Uczenie maszynowe — pojęcia i warsztat — pojęcia, pierwszy model od początku do końca, warsztat scikit-learn, przeuczenie i uczciwa ocena
  2. Klasyfikacja — miary klasyfikacji, regresja logistyczna, drzewa decyzyjne i lasy losowe, wybór modelu i interpretacja
  3. Regresja i przygotowanie danych — regresja liniowa i miary błędu, przygotowanie danych, regularyzacja i inżynieria cech, modele nieliniowe i wybór
  4. Uczenie bez nadzoru — grupowanie, redukcja wymiaru, obserwacje nietypowe
  5. PyTorch — tensory i sieć neuronowa — tensory, automatyczne różniczkowanie, sieć neuronowa, klasyfikacja obrazów, trening w praktyce
  6. Projekt: od danych do modelu — zadanie, dane i decyzje, potok, modele i wybór, model końcowy, raport i użycie

Ścieżka aplikacji

  1. Bazy danych — sqlite3 i SQLAlchemy — moduł sqlite3, schemat i zapytania SQL, SQLAlchemy — model i sesja, relacje i zapytania ORM, warstwa danych aplikacji
  2. HTTP i API — protokół HTTP, serwer w bibliotece standardowej, klient httpx, interfejs API w praktyce
  3. FastAPI — pierwsza aplikacja, modele danych Pydantic, serwer sklepu, API nad warstwą danych, testy i uruchomienie
  4. Interfejs graficzny tkinter — okno i widżety, menedżery układu, zdarzenia i zmienne kontrolne, aplikacja obiektowa z menu i dialogami, widżety ttk, Canvas, CustomTkinter, mini-projekt: menedżer kontaktów
  5. Pakowanie i dystrybucja — pakiet do instalacji, budowanie i publikacja, zależności i wersje, aplikacja dla użytkownika
  6. Projekt: aplikacja z bazą, API i oknem — serwer: baza i API, klient: moduł API i okno, testy, uruchomienie i dostawa

Ścieżka automatyzacji

  1. Wyrażenia regularne — składnia wzorców, wyszukiwanie, dzielenie i zamiana, wzorce w praktyce, pułapki, wydajność i testy
  2. Narzędzia wiersza poleceń — argumenty i opcje, strumienie, kody wyjścia i dziennik, procesy, pliki i konfiguracja, od skryptu do polecenia
  3. Pobieranie i parsowanie stron — HTML i parser, pobieranie stron, dane ze stron, narzędzie i zasady
  4. Pliki Office i obrazy — arkusze Excel, dokumenty Word, obrazy, raport z danych
  5. Projekt: narzędzie automatyzujące — założenia i architektura, moduły narzędzia, testy i wdrożenie

Wszystkie cztery ścieżki są ukończone.