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:

5 maja
Trwają zapisy na szkolenie

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:

15 września
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

Termin:

24 listopada
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

  • Assignment Expression

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

Typing

  • Typy: podstawowe, opcjonalne, unie, literały, sekwencje i mapy

  • Callable: funkcje, obiekty i metody

  • Wariancja: kowariancja, kontrawariancja i inwariancja

  • Typy generyczne, Aliasy typów

  • Statyczna analiza typów - mypy

  • Transpilacja kodu Python do C i kompilacja - mypyc

Dataclasses

  • Definicja, składnia, typy podstawowe, sekwencje mapy

  • Relacje i zagnieżdżone dataklasy

  • Postinit, (nie)mutowalne atrybuty, field, metadata

  • Parametry, helpery, dziedziczenie, introspekcja

Paradygmat obiektowy

  • Atrybuty: sloty, równość, tożsamość, staticmethods, classmethod

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

Abstrakcja: klasy abstrakcyjne, protokoły, polimorfizm

  • Metaprogramowanie: init subclas, new, type, class factory, metaclass

Przeciążanie operatorów:

  • Lewe, prawe, inkrementacji

  • Arytmetyczne, binarne, porównania

  • Akcesory: setitem, getitem, delitem, missing, call

Przeciążanie wbudowanych funkcji

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

  • Czyste funkcje (pure functions)

Memoizacja, cache, lru_cache

  • Rekurencja

  • Niemutowalne struktury danych i przejrzystość referencjyna

  • Przestrzenie nazewnicze i atrybuty funkcji, callable

Zakresy dostępu funkcji

  • Funkcje wyższego rzędu, domknięcia (closures)

  • Wzorce: pipe, callback, closure, maybe, some, map-reduce

  • Moduł Functools

Generatory

  • Zasada działania i introspekcja

  • Wyrażenia generatorowe

  • Słowa kluczowe yield i yield from

  • Wysyłanie wartości do generatorów

  • Moduł itertools

Asynchroniczność

  • Modele współbieżności

  • Wprowadzenie do programowania asynchronicznego i biblioteki asyncio

  • Słowa kluczowe async/await

  • Coroutines, awaitables, event Loop

  • Run, gather, wait_for

  • Asynchroniczne Iteratory i Context Managery

  • AsyncIO: Future, Task, TaskGroup

  • Asynchroniczne testy

  • Asynchroniczne wykonywanie zadań w systemie operacyjnym

Przyszłość

  • Zmiany planowane w przyszłych wersjach Pythona

  • Spekulacje

  • Gdzie szukać dalszych informacji

Autorem szkolenia jest Matt Harasymczuk

Trener Sages od 2015 roku, z 10 000+ godzinami doświadczenia i 30 000+ przeszkolonych osób. Specjalizuje się w Pythonie, TDD, DevOps i CI/CD. Pracował m.in. w Allegro, COI, PAŻP i Europejskiej Agencji Kosmicznej. Prowadzi stronę www.python3.info i jest założycielem i prezesem dwóch firm Astrotech i Analog Astronaut Training Center. W wolnym czasie rozwija własny system operacyjny.

Wybrane opinie

Przeczytaj pozytywne opinie pochodzące z ankiet satysfakcji z naszych szkoleń wypełnianych wyłącznie przez ich uczestników po realizacji usługi

4.8
Ikona podpowiedziŚrednia ocen Sages w serwisie Google Ocena pochodzi ze średniej ocen Sages w serwisie Google i nie jest weryfikowana

31.01.2025

The organization and structure of the training was excellent.

Uczestnik szkoleniaPython zaawansowanyAkif Zia Khan, Hitachi Energy Services Sp. z o.o.

Więcej opinii