Trwają zapisy do grupy

Szkolenie: Python zaawansowany

Uczestnicy szkolenia zapoznają się z zaawansowanymi konstrukcjami w języku Python, mechanizmami i praktykami programowania obiektowego oraz przykładami użycia idiomów i wzorców projektowych. Na zajęciach zapoznają się z koncepcjami tworzenia aplikacji wielowątkowych, serializacją danych do różnych formatów i obsługą relacji. Szczególny nacisk kładziemy na praktyczne aspekty programowania oraz osadzenie technik wytwarzania oprogramowania w języku Python we współczesnych realiach. Szkolenie odpowiada potrzebom średnio zaawansowanych i zaawansowanych programistów i nie jest przeznaczone dla osób początkujących lub nieprogramujących

4345 PLN+23% VAT (5344 PLN brutto / 1 os.)

Czas trwania szkolenia:5 dni (40h)

Poziom zaawansowania:

Kod kursu:PYTHON/ADV

pythondataoop

Dostępne terminy szkolenia

  • Termin
  • Trener
  • Cena
  • Zapis
  • Lokalizacja

Termin:

16 grudnia
Termin gwarantowanyTrwają zapisy na szkolenieOferta specjalna

Trener:

Mateusz Pabiś

Cena:

4345 PLN netto
Ikona podpowiedziDowiedz się więcej o cenach szkoleń - zapraszamy do kontaktu
+23% VAT

Lokalizacja:

Zdalne
Zdalne
Ikona podpowiedziZapytaj o inne lokalizacje - w tym celu skorzystaj z chatu

Termin:

10 marca
Trwają zapisy na szkolenie

Trener:

Matt Harasymczuk

Cena:

4345 PLN netto
Ikona podpowiedziDowiedz się więcej o cenach szkoleń - zapraszamy do kontaktu
+23% VAT

Lokalizacja:

Zdalne
Zdalne
Ikona podpowiedziZapytaj o inne lokalizacje - w tym celu skorzystaj z chatu

Forma szkolenia

Interesuje Cię szkolenie stacjonarne?

Powiadom o kolejnych terminach

Interesuje Cię szkolenie w innym terminie?

Python zaawansowany

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


Dla kogo?

  • Średnio zaawansowani i zaawansowani programiści, posługujący się językiem Python

  • Architekci rozwiązań aplikacyjnych w języku 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


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


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

Program szkolenia

Pobierz program w PDF

Wprowadzenie

  • Zadania określające poziom grupy

  • Zmiany w najnowszych wydaniach Python

Assingment Expression

Typing

  • Typy podstawowe

  • Sekwencje i mapy

  • Funkcje

  • Obiekty i metody

  • Statyczna analiza typów - mypy

  • Transpilacja kodu Python do C i kompilacja

Dataclasses

  • Definicja i składnia

  • Zagnieżdżone dataklasy

  • Postinit, (nie)mutowalne atrybuty, field

  • Parametry, helpery, dziedziczenie, introspekcja

Paradygmat obiektowy

  • Atrybuty: mutowalność, pola instancji i klasowe, modyfikatory dostępu, slots

  • Metody: modyfikatory dostępu, metody statyczne, metody klasowe

  • Dziedziczenie: wzorce, kompozycja, mixin, problemy, przeciążanie, super, MRO

  • Obiekty: relacje, wartość i tożsamość, konstuktor new i init

  • Klasy: dynamiczne tworzenie klas, metaklasy

  • Dobre praktyki: S.O.L.I.D.

Przeciążanie operatorów:

  • Lewe, prawe, inkrementacji

  • Numeryczne, binarne, porównania

  • Akcesory

Protokoły

  • Polimorfizm: interfejsy, protokoły, klasy abstrakcyjne

  • Wzorce: Context Manager, Iterator

  • Property: setter, getter, deleter

  • Refleksja: setattr, getattr, hasattr, delattr

  • Deskryptory: set, get, delete, set_name

Paradygmat funkcyjny

  • Wyrażenia Lambda,

  • Zakresy funkcji

  • Czyste funkcje (pure functions)

  • Rekurencja

  • Niemutowalne struktury danych

  • Funkcje wyższego poziomu i przejrzystość referencyjna

  • Przestrzenie nazewnicze i atrybuty funkcji, callable

  • Domknięcia (closures)

  • 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

Zagadnienia wydajnościowe i optymalizacja

  • Notacja wielkiego-O, złożoności, optymalizacja

  • Microbenchmarking: wydajność wbudowanych typów danych

  • Profiling: wyszukiwanie wąskich gardeł w programie

  • Kompilacja kodu Pythona do bibliotek współdzielonych

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

Autorem szkolenia jest Matt Harasymczuk

Od 2015 roku prowadzę szkolenia jako trener Sages. Mam ponad 9 tysięcy godzin (tak, 9000!) doświadczenia w prowadzeniu warsztatów dla ponad 30 tys. osób. Dotychczas przeprowadziłem szkolenia dla 196 organizacji z sektorów tj. publiczny, bankowy, obronny, agencje kosmiczne, firmy branży lotniczej, automotive, e-commerce, fintech, ubezpieczenia, startupy wysokich technologii, branża paliwowa, telekomy, medyczna, uczelnie wyższe, gaming, druk 3d i consumer electronics. Specjalizuję się w szkoleniach…