Python średnio zaawansowany
Czas trwania szkolenia:5 dni (40h)
Kod kursu:PYTHON/MID
Poziom zaawansowania:
O szkoleniu Python średnio zaawansowany
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
Wymagania
- Podstawowa umiejętność programowania i debugowania w języku Python
- Dobra znajomość wybranego środowiska IDE (preferowany PyCharm)
- Znajomość koncepcji programowania obiektowego
Zalety
- Uczestnicy nauczą się korzystać z biblioteki standardowej Python
- Uczestnicy zdobędą umiejętność refaktoryzacji i pracy z debuggerem
- Praktyka przed teorią - wszystkie szkolenia technologiczne prowadzone są w formie warsztatowej. Konieczna teoria jest wyjaśniana na przykładzie praktycznych zadań
- Konkretne umiejętności - w ramach każdego szkolenia rozwijamy praktyczne umiejętności związane z daną technologią i tematyką
- Nauka z praktykami - wszyscy trenerzy na co dzień pracują w projektach, gwarantuje to dostęp do eksperckiej wiedzy i praktycznego know-how
Cele szkolenia
- Poszerzenie wiedzy dotyczącej programowania w języku Python
- Zapoznanie się z alternatywnymi wersjami interpretera
- Nauka refaktoringu i dobrych praktyk związanych z tworzeniem czystego kodu
Program
Rozpakowywanie obiektów
- Unpacking Assignment
- Rozpakowywanie parametrów (*args, kwargs)
- Rozpakowywanie argumentów (*args, kwargs)
- Assignment Expression
- Składnia parametrów do definiowania API
Type Annotations
- Typy proste
- Sekwencje
- Mapy
- Funkcje
- Obiekty i metody
Daty i strefy czasowe
- Tworzenie obiektów dat, parsowanie i formatowanie - datetime
- Przesunięcia czasu i dat - timedelta
- Praca z timestamp
- Obsługa stref czasowych - zoneinfo, pytz
- Obsługa kalendarza - calendar
Serializacja obiektów, dat, relacji oraz zapis do pliku i bazy danych
- Format CSV (dane proste i relacyjne)
- Format JSON (serializacja prostych danych, dat oraz obiektów)
- Format Pickle
Wyrażenia regularne
- Składnia (identifier, qualifiers, quantifiers, groupping, backreference)
- Wyrażenia chciwe i leniwe
- Wyszukiwanie wieloliniowe
- Grupy nazwane, pozycyjne, niechwytające i komentarze
- Korzystanie z wyrażeń regularnych w Python
Bazy danych
- DB API
- Bazy relacyjne na przykładzie SQLite3
- Tworzenie i zmienianie schema (CREATE, ALTER, DROP)
- Tworzenie i zmienianie danych (INSERT, UPDATE, DELETE)
- Wybór danych (SELECT, podzapytania, kursory, relacje, indeksy)
- SQL injection
Programowanie obiektowe
- Przeciążanie operatorów
- Enumeracja (enum)
- Dataclasses (dataclasses)
Kontrola jakości, logowanie i debugging
- Testy jednostkowe i Test Driven Development (TDD) - doctest, unittest
- Logowanie zdarzeń i informacje ostrzegawcze - logging, warnings
- Praca z debuggerem w IDE
- Wydajność wbudowanych struktury i typów danych - timeit, cProfile
- Statyczna analiza kodu źródłowego - pylint, pylama, sonarlint, pyflakes
- Standardy programowania PEP8, PEP20 i dobre praktyki - pycodestyle, pydocstyle
- Zaawansowane opcje formatowania tekstu - print
- Formatowanie wyświetlania obiektów - pprint
Moduły, paczkowanie i alternatywne interpretery i preprocesory
- Środowiska wirtualne - venv
- Tworzenie własnych paczek - setup.py, setup.cfg, pyproject.toml
- Zarządzanie zależnościami - requirements.txt
- Upload do pypi.org - twine, format wheel
- Generowanie pakietów - zipapp
- Generowanie plików wykonywalnych dla systemu operacyjnego - pyinstaller
- Alternatywny kompilator Python - pypy
Matematyka w bibliotece standardowej
- Podstawowe zagadnienia matematyczne - math
- Podstawowa statystyka - statistics
- Liczby pseudolosowe - random
- Ułamki zwykłe - fractions
- Zagadnienia precyzji operacji numerycznych i typu float - decimal
- Liczby zespolone - complex
Lokalizacja i internacjonalizacja
- Locale
- i18n
- l10n
System Operacyjny
- Praca ze ścieżkami - pathlib
- Parsowanie plików konfiguracyjnych - configparser
- Parsowanie argumentów linii poleceń - argparse
- Uruchamianie poleceń w systemie - subprocess
- Pliki tymczasowe - tempfile
- Praca z systemem operacyjnym, plikami i katalogami - os