Pobierz kartę szkolenia

Zaawansowane techniki programowania w języku Python

kod szkolenia: PYTH02 / PL AA 5d

Pakiety e-learning

Termin

tryb Distance Learning

poziom Średnio zaawansowany

czas trwania 5 dni |  35h|  22.07 23.07 24.07 25.07 26.07
4 100,00 PLN + 23% VAT (5 043,00 PLN brutto)
Poprzednia najniższa cena:
4 100,00 PLN
czas trwania 5 dni |  35h|  26.08 27.08 28.08 29.08 30.08
4 100,00 PLN + 23% VAT (5 043,00 PLN brutto)
Poprzednia najniższa cena:
4 100,00 PLN
czas trwania 5 dni |  35h|  23.09 24.09 25.09 26.09 27.09
4 100,00 PLN + 23% VAT (5 043,00 PLN brutto)
Poprzednia najniższa cena:
4 100,00 PLN
czas trwania 5 dni |  35h|  21.10 22.10 23.10 24.10 25.10
4 100,00 PLN + 23% VAT (5 043,00 PLN brutto)
Poprzednia najniższa cena:
4 100,00 PLN
czas trwania 5 dni |  35h|  25.11 26.11 27.11 28.11 29.11
4 100,00 PLN + 23% VAT (5 043,00 PLN brutto)
Poprzednia najniższa cena:
4 100,00 PLN
czas trwania 5 dni |  35h|  16.12 17.12 18.12 19.12 20.12
4 100,00 PLN + 23% VAT (5 043,00 PLN brutto)
Poprzednia najniższa cena:
4 100,00 PLN
4 100,00 PLN 5 043,00 PLN brutto

Szkolenie przeznaczone jest dla osób chcących podnieść oraz utrwalić, a także wzbogacić swoją dotychczasową wiedzę o nowe funkcjonalności, oraz bardziej zaawansowane mechanizmy z zakresu programowania w języku Python.

Szkolenie utrwala oraz znacząco poszerza wiedzę z zakresu języka Python o zaawansowane techniki, które będą omawiane w trakcie części warsztatowej. Po ukończeniu szkolenia słuchacze będą potrafili poradzić sobie z większością problemów, które mogą napotkać w trakcie pracy z językiem. Poruszone zostaną ważne aspekty takie jak nowoczesne praktyki oraz omówione zostaną popularne dziś moduły, asynchroniczność czy optymalizacja procesów dzięki wykorzystaniu dostępnych funkcjonalności języka.

Udział w szkoleniu PYTH01 – Podstawy programowania w języku Python lub równoważna wiedza.

Podstawowa znajomość środowiska Linux/Unix/Windows.

Mile widziana znajomość podstawowych zagadnień bazodanowych

  • Szkolenie: polski
  • Materiały: polski
  • wykłady
  • warsztaty
  1. PROGRAMOWANIE FUNKCYJNE
    • *args & **kwargs
    • Rozpakowywanie Argumentów oraz Rozpakowywanie Kolekcji
    • Funkcja jako parametr (First Class Citizen)
    • Funkcje lambda (Anonimowe)
    • Wyrażenia Listowe, Słownikowe, etc… – zaawansowane
    • Zagnieżdżone Wyrażenia Listowe, Słownikowe, etc…
    • Moduł ITERTOOLS – omówienie
    • Moduł FUNCTOOLS – omówienie
    • Generatory i Iteratory (różne sposoby definiowania)
    • Wzorzec Dekoratora – Tworzenie własnych Dekoratorów (dekorator prosty)
  1. PROGRAMOWANIE OOP – POZIOM ZAAWANSOWANY
    • Dokumentowanie Kodu
    • Atrybuty Klas
    • Wielodziedziczenie oraz Method Resolution Order
    • Metoda Super
    • Dostęp do Atrybutów, Atrybuty Prywatne
    • Deskryptory i definiowanie właściwości
      (__get__, __set__, __delete__, __set_name__)
    • __getitem__, __setitem__, __delitem__
    • Implementacja Iterowalności dla Klas
    • Przeciążanie operatorów
    • Klasy Abstrakcyjne – podstawowe zagadnienia
    • Dekoratory Klasowe z Argumentami
    • MetaClasses – podstawowe zagadnienia
  1. POMOCNE NARZĘDZIA
    • Adnotacje Typów (Hints) – informacje i przykład zastosowania
    • Moduł TIMEIT – na przykładach (porównanie czasu wykonywania się algorytmów)
    • Moduł LOGGING – logowanie zdarzeń (konfiguracja i sposoby zastosowania)
    • Moduł OS – powtórzenie oraz dodatkowe informacje
    • Moduł SYS – powtórzenie oraz dodatkowe informacje
    • Interakcja z systemem operacyjnym i systemem plików – moduły SYS i OS
  1. KOLEKCJE – rozszerzenie wbudowanych typów złożonych
    • Moduł COLLECTIONS:
    • a) NamedTuple
    • b) DataClass
    • c) DefaultDict
    • d) Deque
    • e) Counter
  1. WYRAŻENIA REGULARNE
    • Moduł RE:
    • a) Składnia – symbole, budowa wyrażeń regularnych
    • b) funkcje match & search
    • c) funkcje findall & finditer
    • d) obiekt Pattern
    • e) obiekt Match
    • f) funkcje sub & split
    • g) flagi DOTALL & MULTILINE
    • h) Narzędzia online do tworzenia WR (np. regex101 i pythex)
  1. PRZETWARZANIE DANYCH
    • Moduł REQUESTS – HTTP Protocol (podstawowe informacje oraz żądania z poziomu Pythona)
    • Moduł BEAUTIFUL SOUP – WebScrapping (XML & HTML) (przykład zastosowania w przeszukiwaniu dokumentów hipertekstowych)
    • Moduł PARAMIKO – połączenia SSH (przykład zastosowania)
    • JSON, YAML, PICKLE – praktyczne użycie
    • Wstęp do Pandas (odczyt i zapis XLS, CSV, etc…)
    • Przegląd innych bibliotek
  1. BAZY DANYCH
    • Przegląd popularnych „Connectorów” dla relacyjnych baz danych – na podstawie połączeń z MYSQL / PostgreSQL / ORACLE lub innego wybranego silnika
    • Obsługa zapytań z poziomu Pythona – podstawowe zapytania
    • Połączenie z bazami nierelacyjnymi – na przykładzie PYMONGO (MongoDB)
    • ORM na przykładzie SQLAlchemy
  1. WĄTKI I PROCESY
    • Moduł THREADING – podstawowe koncepcje:
    • a) Uruchamianie Wątków
    • b) Synchronizacja Wątków
    • c) Rlocks
    • d) Semaphores
    • e) GIL (Global Interpreter Lock)
    • Moduł MULTIPROCESSING – podstawowe koncepcje:
    • a) Processes, Queues, Locks
    • b) Pools
    • c) Daemons
    • d) Wymiana Danych pomiędzy Procesami
  1. ASYNCHRONICZNY PYTHON – Wstęp i Podstawy
    • Moduł ASYNCIO – omówienie podstawowych zagadnień:
    • a) Coroutines, Tasks
    • b) Streams
    • c) Subprocesses
    • d) Queues
    • e) Exceptions
    • f) Event Loop
    • g) Futures
    • h) Asynchronous (Non-Blocking) HTTP Calls
  1. WSTĘP DO TESTÓW
    • Testy jednostkowe
    • Wstęp do TDD
    • Biblioteka Unittest
    • Przegląd innych bibliotek
  1. DODATKOWO:
    • Inne biblioteki wybrane wspólnie z uczestnikami kursu