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
Dla kogo?
- Programiści języka Python
- Analitycy Danych, Data Scientist lub osoby zajmujące się Machine Learning
Wymagania
- Podstawowa umiejętność programowania i debugowania w języku Python
- Dobra znajomość wybranego środowiska IDE (preferowany PyCharm)
- Znajomość koncepcji programowania obiektowego
Zalety
- Uczestnicy szkolenia Python średnio zaawansowany 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 w języku Python
Program
Wyrażenia z gwiazdką
- Przypisanie z gwiazdką (rozpakowywanie)
- Rozpakowywanie parametrów (*args, \**kwargs)
- Rozpakowywanie argumentów (*args, \**kwargs)
- Definiowanie API
Pattern Matching
- Wprowadzenie do składni
- Wzorce: literal, or, wildcard, capture, constant
- Wzorce: sequence, mapping, class, walrus
- Guard i subpattern
Locale
Encoding (ASCII, UTF-8, ISO-8859-2, CP1250)
i18n, l10n
Problemy lokalizacji
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
Daty i strefy czasowe
- Tworzenie obiektów dat, parsowanie i formatowanie - datetime
- Przesunięcia czasu i dat - timedelta
- Praca z timestamp - time, datetime
- Obsługa stref czasowych - zoneinfo
- Obsługa kalendarza - calendar
Idiomy języka Python
- range, zip, enumerate
- map, filter
- all, any
Format JSON
- Specyfika formatu i najczęstsze problemy
- Zapis i odczyt prostych danych
- Enkoder i dekoder dla dat i obiektów złożonych
Format CSV
- Specyfika formatu i najczęstsze problemy
- Problemy lokalizacyjne: separatory, końce linii, encoding
- Zapis i odczyt danych płaskich, moduł csv
- Zapis i odczyt danych relacyjnych
- Moduł csv oraz pandas
Format TOML
- Specyfika formatu i najczęstsze problemy
- Odczyt danych
- Co to jest plik pyproject.toml
Format Pickle
- Serializacja i deserializacja obiektów, dat, relacji
- Zapis do pliku, odczyt z pliku
- Wersje protokołów i kompatybilność
Ścieżki systemu operacyjnego
- moduł pathlib
- praca z plikami i katalogami
Moduły
- Środowiska wirtualne - venv
- Zarządzanie zależnościami - requirements.txt
Logowanie
- Wykorzystanie i poziomy logowania
- Warnings i oznaczanie jako przestarzałe (deprecation)
- Podstawowa i plikowa konfiguracja
- Formattery, handlery
- Rotowanie logów i optymalizacja
Programowanie obiektowe
Mutowalność obiektów
Zmienne klasowe i instancji
Modyfikatory dostępu (?!)
Property
Projekt praktyczny
- Zastosowanie technologii ze szkolenia
- Dobre praktyki
- Wykorzystanie debuggera w IDE
- Techniki refactoringu
Bazy danych
- DB API na przykładzie SQLite3
Podstawy SQLa
- Tworzenie i zmienianie schema (CREATE, ALTER, DROP)
- Tworzenie i zmienianie danych (INSERT, UPDATE, DELETE)
- Wybór danych (SELECT, podzapytania, kursory, relacje, indeksy)