1.2. About Program
Python: Intermediate (level 2)
https://www.sages.pl/szkolenia/python-srednio-zaawansowany-poziom-drugi
1.2.1. Polish
Wprowadzenie:
Zadania określające poziom grupy
Zmiany w najnowszych wydaniach Python
Składnia:
Assignment Expression
Składnia parametrów do definiowania API
Rozpakowywanie parametrów i argumentów (args, kwargs)
Tworzenie własnych wyjątków
Generatory:
Wbudowane generatory
Wyrażenia generatorowe
Funkcje generatorowe
Introspecja generatorów
Yield i Yield-From
Moduł Itertools
Type Annotations:
Typy podstawowe
Sekwencje i mapy
Funkcje
Obiekty i metody
Statyczna weryfikacja kodu
Dataclasses:
Definicja i składnia
Zagnieżdżone dataklasy
Postinit, (nie)mutowalne atrybuty, field
Parametry, helpery, dziedziczenie, introspekcja
Enum:
Definicja i wykorzystanie
StrEnum, IntEnum, auto
Paradygmat obiektowy:
Wprowadzenie do UML: diagram klas, diagram sekwencji
Wprowadzenie do architektury OOP
Argumenty mutowalne i niemutowalne
Atrybuty klasowe i instancyjne
Modyfikatory dostępu
Porównywanie wartości i tożsamości obiektów
Lokalizacja i internacjonalizacja:
Locale
i18n
l10n
Logging i Warnings:
Wykorzystanie i poziomy logowania
Warnings i oznaczanie jako przestarzałe (deprecation)
Podstawowa i plikowa konfiguracja
Formattery, handlery
Rotowanie logów i optymalizacja
System Operacyjny:
Praca ze ścieżkami plikami i katalogami - pathlib
Parsowanie plików konfiguracyjnych - configparser, tomllib
Parsowanie argumentów linii poleceń - argparse
Uruchamianie poleceń w systemie - subprocess
Pliki tymczasowe - tempfile
Praca z systemem operacyjnym - os, sys, platform
Moduły i paczkowanie:
Środowiska wirtualne - venv
Tworzenie własnych paczek - pyproject.toml
Zarządzanie zależnościami - requirements.txt
Upload do pypi.org - build, twine, wheel
Generowanie pakietów - zipapp
Omówienie generowanie plików wykonywalnych - pyinstaller
Omówienie alternatywnych kompilatorów Python - pypy, mypyc
Matematyka w bibliotece standardowej:
Problem precyzji float - IEEE-754
Liczby pseudolosowe - random
Testy jednostkowe i Test Driven Development (TDD):
Unittest
Doctest
Ćwiczenia TDD w praktyce
Praca z debuggerem w IDE
Projekt praktyczny:
Zastosowanie technologii ze szkolenia
Dobre praktyki
Wykorzystanie debuggera w IDE
Techniki refactoringu