icon icon

Kurs Python Advanced – funkcje, OOP i jakość kodu

icon

Proces szkoleniowy

Analiza potrzeb szkoleniowych

Jeśli masz życzenie dotyczące programu szkolenia, przeprowadzimy dla Ciebie analizę potrzeb szkoleniowych, która będzie wskazówką dla nas, na jakie aspekty programu położyć większy nacisk – tak, by program szkolenia spełniał konkretne potrzeby.

Co zyskujesz?

icon

Swobodne projektowanie funkcji - Nauczysz się świadomie dobierać argumenty pozycyjne, nazwane, *args i **kwargs, dzięki czemu będziesz tworzyć bardziej elastyczne API funkcji i czytelniejszy kod.

icon

Lepsze wykorzystanie generatorów - Zaczniesz używać generatorów i yield do pracy na dużych zbiorach danych, co pomoże Ci ograniczać zużycie pamięci i budować wydajniejsze skrypty przetwarzające dane.

icon

Automatyzacja dzięki dekoratorom - Samodzielnie napiszesz dekoratory do logowania, walidacji i cache, więc szybciej dodasz powtarzalne mechanizmy do kodu bez kopiowania tych samych fragmentów.

icon

Pewniejsze OOP w praktyce - Uporządkujesz pracę z klasami, dziedziczeniem, kompozycją i property, dzięki czemu łatwiej zaprojektujesz obiekty, które są czytelne, rozszerzalne i wygodne w użyciu.

icon

Sprawna praca z plikami - Nauczysz się bezpiecznie odczytywać i zapisywać pliki tekstowe, CSV oraz JSON, obsługiwać wyjątki i zarządzać ścieżkami, co przyda Ci się w codziennych zadaniach.

icon

Poprawne operacje na czasie - Będziesz pewniej pracować z datą, godziną, formatowaniem i podstawami stref czasowych, dzięki czemu unikniesz częstych błędów w logach, raportach i harmonogramach.

icon

Lepsza diagnostyka aplikacji - Skonfigurujesz moduł logging i dobierzesz poziomy logów do sytuacji, więc łatwiej wykryjesz problemy, prześledzisz działanie programu i uporządkujesz komunikaty w projekcie.

icon

Większa jakość kodu dzięki testom - Poznasz unittest lub pytest, nauczysz się pisać testy i używać mocków, dzięki czemu szybciej sprawdzisz poprawność zmian i bezpieczniej rozwiniesz istniejący kod.

Program szkolenia

1. Funkcje – elementy średnio zaawansowane

  • argumenty pozycyjne i nazwane,
  • *args i **kwargs,
  • funkcje anonimowe (lambda),
  • funkcje jako obiekty (przekazywanie funkcji),
  • zasięg zmiennych (LEGB),
  • funkcje zagnieżdżone i closures.

2. Generatory

  • iteratory vs generatory,
  • słowo kluczowe yield,
  • generatory jako alternatywa dla list,
  • generator expressions,
  • przetwarzanie dużych zbiorów danych.

3. Dekoratory

  • czym są dekoratory i jak działają,
  • tworzenie własnych dekoratorów,
  • dekoratory z argumentami,
  • zastosowania (logowanie, walidacja, cache),
  • łączenie wielu dekoratorów.

4. Programowanie obiektowe – elementy średnio zaawansowane

  • klasy i obiekty – utrwalenie,
  • dziedziczenie i kompozycja,
  • metody specjalne (str, repr, len),
  • encapsulacja i właściwości (property),
  • klasy abstrakcyjne i interfejsy,
  • wzorce projektowe (wprowadzenie).

5. Praca z plikami i ścieżkami

  • odczyt i zapis plików (tekstowe, CSV, JSON),
  • obsługa wyjątków przy pracy z plikami,
  • zarządzanie ścieżkami (os, pathlib),
  • operacje na katalogach.

6. Data i czas

  • moduły datetime i time,
  • operacje na datach i czasie,
  • formatowanie dat,
  • strefy czasowe (wprowadzenie),
  • praktyczne zastosowania (harmonogramy, logi).

7. Logowanie

  • podstawy modułu logging,
  • poziomy logowania (DEBUG, INFO, ERROR),
  • konfiguracja loggera,
  • logowanie do pliku,
  • dobre praktyki w projektach.

8. Testy jednostkowe

  • wprowadzenie do testowania,
  • framework unittest / pytest,
  • tworzenie testów jednostkowych,
  • asercje i scenariusze testowe,
  • mockowanie i testowanie zależności.

9. Wyrażenia regularne

  • składnia regex,
  • wyszukiwanie i dopasowywanie wzorców,
  • grupy i modyfikatory,
  • walidacja danych,
  • przetwarzanie tekstu z użyciem regex**.

Jakie są wymagania wstępne do udziału w szkoleniu?

icon

Podstawy składni Pythona - Powinieneś swobodnie korzystać ze zmiennych, typów danych, instrukcji warunkowych, pętli oraz podstawowych operacji na listach i słownikach w prostych skryptach.

icon

Tworzenie prostych funkcji - Powinieneś umieć definiować i wywoływać własne funkcje, przekazywać podstawowe argumenty oraz rozumieć, czym jest wartość zwracana i lokalny zakres zmiennych.

icon

Podstawy pracy z modułami - Powinieneś rozumieć, jak importować moduły i korzystać z funkcji z biblioteki standardowej, aby bez problemu odnaleźć się w przykładach opartych na gotowych narzędziach.

icon

Wstęp do klas i obiektów - Powinieneś znać podstawowe pojęcia związane z klasą, obiektem i metodą, aby łatwiej przejść do dziedziczenia, właściwości i bardziej zaawansowanego OOP w Pythonie.