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.
Zobacz też:
- Programista Python (kurs zawodowy - bootcamp)
- Bootcamp Python XL backend/web (kurs zawodowy - bootcamp)
- Bootcamp Python XL analiza danych (kurs zawodowy - bootcamp)
- Tester automatyzujący (kurs zawodowy - bootcamp)
- Analiza danych w Pythonie (kurs zawodowy - bootcamp)
- Analiza danych w Pythonie (bez ML) (kurs zawodowy - bootcamp)
- Programista backend - Python (kurs zawodowy - bootcamp)
- Analiza danych, uczenie maszynowe i deep learning dla znających Pythona (kurs zawodowy - bootcamp)
- Programowanie dla młodzieży - Python (kurs zawodowy - bootcamp)
- Skrypty w Pythonie. Python dla inżynierów
- Python dla programistów innych języków
- Django - aplikacje webowe
- FLASK - aplikacje webowe
- Analiza Danych dla znających Pythona
- Machine Learning - Uczenie Maszynowe dla znających Pythona
- Deep Learning - Uczenie Głębokie dla znających Pythona
- Programowanie asynchroniczne w Asyncio
- Rozszerzanie Pythona w języku C
- Wprowadzenie do Amazon Web Services
- Wprowadzenie do GIT
- Wstęp do programowania w Pythonie - darmowe warsztaty "od zera"