Szkolenie: Python zaawansowany
Szkolenie Python zaawansowany to intensywny kurs dla programistów, który rozwija umiejętności w zakresie zaawansowanych technik programowania obiektowego, typowania, asynchroniczności, wzorców projektowych oraz najlepszych praktyk w Pythonie
- Trenerzy praktycy
- Kameralne grupy
Czas trwania szkolenia:5 dni (40h)
Kod kursu:PYTHON/ADV
Python zaawansowany
Cele szkolenia
Szkolenie przygotowuje do samodzielnego projektowania i rozwijania zaawansowanych aplikacji w języku Python z wykorzystaniem nowoczesnych technik i narzędzi
Szkolenie uczy stosowania zaawansowanych konstrukcji językowych, wzorców projektowych oraz zasad SOLID w codziennej pracy programisty Python
Szkolenie rozwija umiejętność analizy, refaktoryzacji i debugowania kodu Python w środowisku IDE, z naciskiem na praktyczne aspekty utrzymania i rozwoju oprogramowania
Dla kogo?
Programistów Python z minimum rocznym doświadczeniem, chcących rozwijać zaawansowane kompetencje techniczne
Architektów i liderów zespołów programistycznych odpowiedzialnych za projektowanie i rozwój aplikacji Python
Specjalistów IT realizujących zadania związane z utrzymaniem, rozwojem i optymalizacją kodu w Pythonie
Efekty kształcenia
Uczestnik projektuje i rozwija złożone aplikacje z użyciem zaawansowanych technik Pythona
Uczestnik analizuje i wdraża wzorce projektowe oraz zasady SOLID w kodzie Python
Uczestnik stosuje typowanie statyczne i narzędzia do analizy typów w projektach
Uczestnik implementuje asynchroniczność i programowanie funkcyjne w praktyce
Uczestnik refaktoryzuje i debugguje kod z wykorzystaniem środowiska IDE
Uczestnik ocenia i wdraża dobre praktyki oraz konwencje programistyczne
Wymagania
Umiejętność programowania w języku Python oraz znajomości podstawowych struktur danych
Znajomość koncepcji programowania obiektowego
Umiejętność posługiwania się wybranym środowiskiem IDE, dedykowanym dla języka Python
Ogólna znajomość biblioteki standardowej dla języka Python
W cenie otrzymasz:
Materiały szkoleniowe
Certyfikat ukończenia szkolenia
W przypadku szkolenia w trybie stacjonarnym zapewnimy Ci również lunch oraz sprzęt niezbędny do nauki
Program szkolenia
Wprowadzenie
Zadania określające poziom grupy
Zmiany w najnowszych wydaniach Python
Składnia
Assignment Expression
Exception (zagnnieżdżone, własne)
t-strings
Typing
Typy: podstawowe, opcjonalne, unie, literały, sekwencje i mapy
Callable: funkcje, obiekty i metody
Wariancja: kowariancja, kontrawariancja i inwariancja
Typy generyczne, Aliasy typów
Statyczna analiza typów - mypy
Transpilacja kodu Python do C i kompilacja - mypyc
Dataclasses
Definicja, składnia, typy podstawowe, sekwencje mapy
Relacje i zagnieżdżone dataklasy
Postinit, (nie)mutowalne atrybuty, field, metadata
Parametry, helpery, dziedziczenie, introspekcja
Paradygmat obiektowy
Atrybuty: sloty, równość, tożsamość, staticmethods, classmethod
Dziedziczenie: wzorce, mixin, przeciążanie, super, MRO
Abstrakcja: klasy abstrakcyjne, protokoły, polimorfizm
Metaprogramowanie: init subclas, new, type, class factory, metaclass
Przeciążanie operatorów:
Lewe, prawe, inkrementacji
Arytmetyczne, binarne, porównania
Akcesory: setitem, getitem, delitem, missing, call
Przeciążanie wbudowanych funkcji
Akcesory
Wzorce: Context Manager, Iterator
Property: setter, getter, deleter
Refleksja: setattr, getattr, hasattr, delattr
Deskryptory: set, get, delete, set_name
Paradygmat funkcyjny
Wyrażenia Lambda
Czyste funkcje (pure functions)
Memoizacja, cache, lru_cache
Rekurencja
Niemutowalne struktury danych i przejrzystość referencyjna
Przestrzenie nazewnicze i atrybuty funkcji, callable
Zakresy dostępu funkcji
Funkcje wyższego rzędu, domknięcia (closures)
Wzorce: pipe, callback, closure, maybe, some, map-reduce
Moduł Functools
Generatory
Zasada działania i introspekcja
Wyrażenia generatorowe
Słowa kluczowe yield i yield from
Wysyłanie wartości do generatorów
Moduł itertools
Asynchroniczność
Modele współbieżności
Wprowadzenie do programowania asynchronicznego i biblioteki asyncio
Słowa kluczowe async/await
Coroutines, awaitables, event Loop
Run, gather, wait_for
Asynchroniczne Iteratory i Context Managery
AsyncIO: Future, Task, TaskGroup
Asynchroniczne testy
Asynchroniczne wykonywanie zadań w systemie operacyjnym
Przyszłość
Zmiany planowane w przyszłych wersjach Pythona
Spekulacje
Gdzie szukać dalszych informacji
Wybrane opinie
Przeczytaj pozytywne opinie pochodzące z ankiet satysfakcji z naszych szkoleń wypełnianych wyłącznie przez ich uczestników po realizacji usługi

