Kategoria: Python
Celem tego szkolenia jest zapoznanie słuchaczy z zaawansowanymi możliwościami języka Python. Podczas kursu wykroczymy daleko poza ramy prostego pisania skryptów i zgłębimy tajniki profilowania, programowania współbieżnego i korzystania z metaklas.
Pochylimy się nad wydajnością, zarówno obliczeniową jak i pamięciową, przyjrzymy się niektórym mniej znanym, a potężnym bibliotekom Pythona. Ukończenie szkolenia Zaawansowany Python
da solidne podstawy do implementowania realnych aplikacji biznesowych przy użyciu tego języka. Wszystkim zajęciom towarzyszą liczne przykłady i ćwiczenia, ilustrujące kolejne poruszane zagadnienia.
Wszyscy nasi trenerzy mają wieloletnią praktykę w tworzeniu aplikacji w Pythonie i są doświadczonymi wykładowcami.
Czas trwania
3 dni
Program
- Iteratory i menedżery kontekstu
- Wstęp do iteratorów
- Przekazywanie danych do iteratorów
- Zastosowania
- Wydajność pamięciowa
- Moduł itertools
- Modularyzacja kodu
- Protokół iteracji
- Implementacja własnego iteratora
- Menedżery kontekstu i contextlib
- Dekoratory
- Kodowania, serializacja, dane binarne
- Unicode i sposoby kodowania
- Poprawne obsługiwanie danych binarnych i tekstowych
- Inne kodeki dla napisów
- Czytanie struktur binarnych
- Serializacja przy pomocy pickle
- Bezpieczeństwo pickle
- Serializacja własnych typów danych
- Typy, klasy i metaklasy
- Definiowanie typów w trakcie działania programu
- Introspekcja obiektów i klas
- Kiedy stosować metaklasy
- Przykładowe problemy
- Testowanie
- Jak poprawnie pisać testy
- Biblioteki służące do testowania
- standardowa unittest
- nose i tox
- Sprawdzanie pokrycia kodu testami
- coverage.py
- Pokrycie linii vs pokrycie rozgałęzień
- Zaawansowane narzędzia
- interpreter IPython
- Wirtualne środowiska i virtualenv
- Wbudowany debugger Pythona – pdb
- Debugowanie Pythona z poziomu gdb
- Profilowanie kodu
- Typy profilerów w Pythonie
- Wbudowany profiler
- Profilowanie statystyczne
- Czytanie profilów
- Optymalizacja Pythona
- Dekompilacja, czytanie opkodów, moduł dis
- Profilery pamięci
- objgraph
- _heapy__
- Typy profilerów w Pythonie
- Współbieżność
- Wprowadzenie do GIL
- Problemy spotykane przy równoległym wykonywaniu kodu
- Blokady
- Muteksy i semafory
- Warunki
- Biblioteki do programowania współbieżnego
- przy użyciu wątków, moduł threading
- przy użyciu procesów, moduł multiprocessing
- programowanie asynchroniczne
- konstrukcja async/await
- biblioteka asyncio
- asynchroniczne serwisy webowe z użyciem aiohttp
- Przyspieszanie programów za pomocą współbieżności
Szkolenia domyślnie prowadzone są na najnowszej stabilnej wersji Pythona z gałęzi 3.
Dla grup na zamówienie, możliwe jest prowadzenie zajęć na
dowolnych wersjach oprogramowania zgodnie z zapotrzebowaniem Klienta.
Training also available in English - for more information see here.
Przeznaczenie i wymagania
Podstawowa znajomość języka Python.
Certyfikaty
Uczestnicy szkolenia otrzymują imienne certyfikaty sygnowane przez ALX.