Zaawansowane programowanie w języku Python

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

Znajomość tematów ze szkolenia Programowanie w języku Python

3 dni po 8 godzin lekcyjnych