Trwają zapisy do grupy

Szkolenie: Python zaawansowany

Uczestnicy szkolenia zapoznają się z zaawansowanymi konstrukcjami w języku Python oraz mechanizmami i praktykami programowania obiektowego. W trakcie zajęć poznają system anotacji typów, transpilację kodu Pythona do C, klasy danych (dataclasses), zaawansowane paradygmaty obiektowe, zasady S.O.L.I.D., paradygmat funkcyjny oraz funkcyjne wzorce projektowe. Omówione zostaną również przeciążanie operatorów, properties, mechanizmy refleksji, deskryptory, generatory, programowanie asynchroniczne oraz konwencje programistyczne i dobre praktyki. Szczególny nacisk zostanie położony na praktyczne aspekty programowania oraz osadzenie technik wytwarzania oprogramowania w języku Python we współczesnych realiach. Szkolenie jest przeznaczone dla średnio zaawansowanych i zaawansowanych programistów i nie jest skierowane do osób początkujących ani nieprogramujących.

  • Trenerzy praktycy
  • Kameralne grupy

Czas trwania szkolenia:5 dni (40h)

Poziom zaawansowania:

Kod kursu:PYTHON/ADV

pythondataoop

Dostępne terminy szkolenia

  • Termin
  • Trener
  • Cena
  • Zapis
  • Lokalizacja

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

Składnia

  • Assingment Expression

  • Exception (zagnnieżdżone, własne)

Typing

  • Typy podstawowe i zaawansowane

  • Sekwencje i mapy

  • Funkcje

  • Obiekty i metody

  • Wariancja, kowariancja i inwariancja

  • Typy generyczne

  • Aliasty typów

  • 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: sloty, równość, tożsamość, name mangling, metody, staticmethods, classmethod

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

  • Metaprogramowanie: init subclas, new, type, metaclass

Przeciążanie operatorów:

  • Lewe, prawe, inkrementacji

  • Arytmetyczne, binarne, porównania

  • Akcesory, przeciążanie wbudowanych funckji

Akcesory

  • Wzorce: Context Manager, Iterator

  • Property: setter, getter, deleter

  • Refleksja: setattr, getattr, hasattr, delattr

  • Deskryptory: set, get, delete, set_name

Paradygmat funkcyjny

  • Wyrażenia Lambda

  • Przestrzeń 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

Generatory

  • Zasada działania

  • Wyrażenia generatorowe

  • Introspekcja

  • Słowa kluczowe yield i yield from

  • Wysyłanie wartości do generatorów

  • Moduł itertools

Asynchroniczność

  • Modele współbieżności

  • Wprowadzenie do AsyncIO

  • Słowa kluczowe async/await

  • Coroutines, Awaitables, Event Loop

  • Run, gather, wait_for

  • Asynchroniczne Iteratory i Context Managery

Przyszłość

  • Zmiany planowane w przyszłych wersjach Pythona

  • Spekulacje

  • Gdzie szukać dalszych informacji

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…