Zakres szkolenia
Kurs przeznaczony dla osób programujących w Pythonie, które chcą udoskonalić swoje umiejętności i poznać zaawansowane techniki programistyczne. W trakcie szkolenia omawiane jest efektywne wykorzystywanie iteratorów i generatorów, stosowanie dekoratorów i metaklas oraz tworzenie i zarządzanie pakietami.
Plan szkolenia
Usystematyzowanie podstaw języka Python
- Typy danych
- Funkcje
- Nazewnictwo
Klasy i obiekty - elementy zaawansowane
- Programowanie obiektowe jako narzędzie do tworzenia typów danych użytkownika, metody specjalne
- Definiowanie obiektów, wiązanie atrybutów, właściwości (property), sloty, metody statyczne i metody klasy
-
Dziedziczenie i wielokrotne dziedziczenie
- "mix-in classes"
- Method Resolution Order
- Dziedziczenie po typach niezmiennych (immutable)
- Wykorzystanie dynamicznego typowania w praktyce
Optymalne wykorzystanie wbudowanych typów Pythona
- Wydajność operacji na typach wbudowanych
- Przeciążanie wbudowanych typów danych
- Moduł collections
- Omówienie idiomów gwarantujących większą wydajność kodu
Elementy programowania funkcyjnego
- Iteratory, generatory i wyrażenia generatorowe
- Technika "lazy evaluation" w praktyce
- Funkcje zagnieżdżone i domknięcia, wyrażenia lambda
Metaprogramowanie
- Dekoratory funkcji i klas
- Menadżery kontekstu, wyrażenie with
- Wprowadzenie do metaklas
Testy jednostkowe
- Testy jednostkowe
- Frameworki: unittest, pytest
- Doctest
- Uruchamianie testów
3 dni po 8 godzin lekcyjnych