Python zaawansowany

4450 PLN+23% VAT (5473 PLN brutto / 1 os.)

Czas trwania szkolenia:5 dni (40h)

Kod kursu:PYTHON/ADV

Poziom zaawansowania:
pythondataoop

Dostępne terminy

  • Termin
  • Trener
  • Cena
  • Zapis
  • Lokalizacja

Termin:

27 marzec
Trwają zapisy na szkolenie

Trener:

Trainer image
Matt Harasymczuk

Cena:

4450 PLN netto+23% VAT

Lokalizacja:

Lokalizacja:

ZdalneWarszawaKraków

Termin:

12 czerwiec
Termin gwarantowanyTrwają zapisy na szkolenie

Trener:

Trainer image
Matt Harasymczuk

Cena:

4450 PLN netto+23% VAT

Lokalizacja:

Zdalne

Termin:

11 wrzesień
Trwają zapisy na szkolenie

Trener:

Trainer image
Matt Harasymczuk

Cena:

4450 PLN netto+23% VAT

Lokalizacja:

Lokalizacja:

ZdalneWarszawa

Termin:

4 grudzień
Trwają zapisy na szkolenie

Trener:

Trainer image
Matt Harasymczuk

Cena:

4450 PLN netto+23% VAT

Lokalizacja:

Lokalizacja:

ZdalneWarszawaKraków

Nie odpowiada Ci żaden z dostępnych terminów?

Zapytaj o szkolenie

O szkoleniu Python 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

  • Umiejętność programowania w języku Python oraz znajomości podstawowych struktur danych
  • Znajomość koncepcji programowania obiektowego
  • Umiejętność posługiwania się wybranym środowiskiem IDE, dedykowanym dla języka Python
  • Ogólna znajomość biblioteki standardowej dla języka Python

Zalety

  • Zajęcia prowadzone są przez doświadczonych praktyków, którzy na co dzień stosują prezentowane techniki i narzędzia
  • Na zajęciach stosowane są otwarte rozwiązania
  • Szkolenie porusza zagadnienia związane z tworzeniem i rozwijaniem aplikacji, z użyciem biblioteki standardowej oraz szkieletów aplikacyjnych (ang. framework)
  • W trakcie ćwiczeń wykorzystywane są przykłady zbliżone do rzeczywistych zastosowań i promowane są praktyki tworzenia łatwego w utrzymaniu kodu
  • 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

  • Kształcenie umiejętności i rozwijanie wiedzy dotyczącej zaawansowanego programowania w języku Python
  • Konsolidacja wiedzy i uzupełnienie braków w kompetencjach w zakresie szkolenia
  • Pogłębienie znajomości mechanizmów i idiomów języka Python
  • Nauka refaktoryzacji i pracy z debuggerem w środowisku IDE

Program

Wprowadzenie

  • Zadania określające poziom grupy
  • Zmiany w najnowszych wydaniach Python

Paradygmat funkcyjny

  • Czyste funkcje (pure functions)
  • Rekurencja
  • Mutowalne i niemutowalne struktury danych
  • Wyrażenia Lambda
  • Funkcje wyższego poziomu i przejrzystość referencyjna
  • Callable, przestrzenie nazewnicze i atrybuty funkcji
  • Funkcyjne wzorce: callback, closure, maybe, some, map-reduce
  • Moduł Functools

Dekoratory

  • Rodzaje dekoratorów i przykłady zastosowania
  • Dekoratory funkcji, klas, metod
  • Dekoratory funkcje, dekoratory klasy, dekoratory metody
  • Dekoratory z wrapperami funkcyjnymi i klasowymi
  • Dekoratory z argumentami i bez argumentów
  • Dekoratory w bibliotece standardowej

Paradygmat obiektowy

  • Zasady S.O.L.I.D.
  • Dziedziczenie, kompozycja i klasy domieszkowe (mixin)
  • Kolejność rozwiązywania metod (MRO) i super()
  • Polimorfizm, enkapsulacja, abstrakcja
  • Mapowanie Obiektowo Relacyjne
  • Interfejsy i klasy abstrakcyjne
  • Metody statyczne i klasowe
  • Slots
  • Konstruktor i fabryki obiektów - __new__ vs. __init__
  • Metaklasy

Przeciążanie operatorów

  • Operatory lewe, prawe i inkrementacji
  • Operatory numeryczne, porównania i binarne
  • Operatory dostępu (akcesory)

Protokoły

  • Context Manager
  • Iterator
  • Property
  • Refleksja (setattr, getattr, hasattr, delattr)
  • Deskryptory

CI/CD w projektach Python

  • Zależności dev, cicd, prod (frozen)
  • Statyczna analiza kodu źródłowego - pylint, pylama, sonarlint, pyflakes
  • Standardy programowania PEP8, PEP20 i dobre praktyki - pycodestyle, pydocstyle
  • Wyszukiwanie podatności bezpieczeństwa - bandit
  • Statyczna analiza typów - mypy

Zagadnienia wydajnościowe i optymalizacja

  • Microbenchmarking: wydajność wbudowanych typów danych - timeit
  • Profiling: wyszukiwanie wąskich gardeł w programie - cProfile
  • Kompilacja kodu Pythona do bibliotek współdzielonych - mypyc

Współbieżność

  • Modele współbieżności
  • Kolejki
  • Komunikacja międzyprocesowa i międzywątkowa
  • Mechanizmy blokujące
  • Wprowadzenie do programowania wielowątkowego
  • Wprowadzenie do programowania wieloprocesowego
  • Wprowadzenie do programowania asynchronicznego

Projekt praktyczny

  • Zastosowanie technologii ze szkolenia
  • Dobre praktyki
  • Wykorzystanie debuggera w IDE
  • Techniki refactoringu
  • Praca z legacy code

Podobne szkolenia