Przejdź do głównej treści
eLearner.app

Interaktywny kurs

Kurs Python

Naucz się Pythona od zera dzięki CPython w WebAssembly: uruchamiaj skrypty w przeglądarce, pracuj z ciągami znaków i kolekcjami, korzystaj z biblioteki standardowej i twórz małe, natychmiast weryfikowalne automatyzacje.

01 · Modul 1 — Podstawy języka

4 lekcji

Fundamenty: deklarowanie zmiennych, rozpoznawanie typów, wykonywanie obliczeń, podejmowanie decyzji i wypisywanie w konsoli.

  1. 1.1Zmienne i typyNadawanie nazw wartościom, sprawdzanie typu za pomocą type(), poznanie int / float / str / bool / None.~10 min
  2. 1.2OperatorzyArytmetyka (w tym // i **), porównania, logika boole’owska z and / or / not, kolejność wykonywania.~10 min
  3. 1.3Warunki: if, elif, elseWykonywanie różnego kodu w zależności od warunku; rola wcięć.~10 min
  4. 1.4Wypisywanie i f-stringiprint() do wyświetlania wartości, f-stringi do tworzenia tekstów z interpolacją `{var}`.~8 min

02 · Modul 2 — Sterowanie przepływem

4 lekcji

Powtarzanie, pomijanie, obsługa błędów: konstrukcje, które sprawiają, że program reaguje na dane i napotkane problemy.

  1. 2.1Pętle for i rangeIterowanie po sekwencjach za pomocą for, generowanie zakresów liczbowych za pomocą range(start, stop, step).~10 min
  2. 2.2Pętle whilePowtarzanie, dopóki warunek pozostaje prawdziwy; kiedy wybrać pętlę while zamiast for.~8 min
  3. 2.3break, continue oraz else w pętlachPrzedwczesne wychodzenie z pętli, pomijanie iteracji, użycie specyficznego bloku for…else.~10 min
  4. 2.4Obsługa błędów: try/exceptPrzechwytywanie określonych wyjątków, rozróżnianie try/except/else/finally, zgłaszanie błędów za pomocą raise.~12 min

03 · Modul 3 — Struktury danych

4 lekcji

Cztery wbudowane kolekcje: list (mutowalna sekwencja), tuple (niemutowalna sekwencja), dict (mapowanie klucz-wartość) i set (kolekcja unikalnych elementów).

  1. 3.1ListyTworzenie, dostęp przez indeks i wycinki (slicing), dodawanie i usuwanie, sortowanie. Najczęściej używana sekwencja.~12 min
  2. 3.2Tuple i unpackingNiemutowalne sekwencje, pakowanie i rozpakowywanie (unpacking), zamiana wartości bez zmiennej tymczasowej, operator * dla reszty.~10 min
  3. 3.3SłownikiMapowanie klucz→wartość, dostęp za pomocą [] i .get, iterowanie po keys/values/items, dict.setdefault.~12 min
  4. 3.4ZbioryKolekcje unikalnych elementów, operacje na zbiorach (& | - ^), sprawdzanie przynależności w czasie O(1).~10 min

04 · Modul 4 — Ciągi znaków i liczby

4 lekcji

Idiomatyczna praca z tekstem (metody, slicing) i liczbami (math, konwersje typów).

  1. 4.1Metody ciągów znakówNajczęściej używane metody: upper/lower, strip, split/join, replace, startswith/endswith, find/in.~12 min
  2. 4.2Slicing i indeksowanieDodatnie i ujemne indeksy, wycinek [start:stop:step], odwracanie ciągu znaków, podciągi.~10 min
  3. 4.3Liczby i moduł mathint, float, dzielenie rzeczywiste vs całkowite, modulo %, abs/round/min/max, math.sqrt, math.pi.~10 min
  4. 4.4Konwersje typówint(), float(), str(), bool(): jawne rzutowanie typów, parsowanie wejścia, truthiness wartości.~10 min

05 · Modul 5 — Funkcje

4 lekcji

Definiowanie funkcji za pomocą def, zwracanie wartości, obsługa parametrów domyślnych, *args/**kwargs oraz wyrażeń lambda.

  1. 5.1def i returnSkładnia def, return (jawny oraz niejawny None), parametry pozycyjne, docstringi.~12 min
  2. 5.2Parametry domyślne i nazwaneWartości domyślne, wywołania z argumentami nazwanymi, kolejność (pozycyjne przed nazwanymi), pułapka modyfikowalnych wartości domyślnych.~12 min
  3. 5.3*args i **kwargsFunkcje ze zmienną liczbą argumentów: *args zbiera argumenty pozycyjne, **kwargs zbiera argumenty nazwane. Rozpakowywanie przy wywołaniu.~12 min
  4. 5.4Lambda i funkcje wyższego rzęduFunkcje anonimowe lambda, użycie z sorted/max/min, kiedy woleć standardowe def, sorted(..., key=...).~10 min

06 · Modul 6 — Comprehensions i iteracja

4 lekcji

List/dict/set comprehensions, generator expressions oraz podstawowe narzędzia z modułu itertools.

  1. 6.1List comprehensionSkładnia [wyrażenie for x in iter if cond], transformacja, filtrowanie, zagnieżdżanie.~12 min
  2. 6.2Dict i set comprehensionSkładnia {k: v for ...} i {x for ...} do deklaratywnego tworzenia słowników i zbiorów.~10 min
  3. 6.3Wyrażenia generatoroweSkładnia (... for ... in ...), leniwa ewaluacja (lazy), stałe zużycie pamięci, sum/any/all na generatorach.~10 min
  4. 6.4Podstawowe itertoolsNajczęściej używane funkcje: enumerate, zip, chain, count, repeat, combinations.~12 min

07 · Modul 7 — Klasy i moduły

4 lekcji

Programowanie zorientowane obiektowo w Pythonie: klasy, dziedziczenie, metody specjalne (dunder), importowanie i organizacja w modułach.

  1. 7.1Klasy i instancjeclass, __init__, atrybuty i metody instancji, self, atrybuty klasy vs instancji.~14 min
  2. 7.2DziedziczeniePodklasy, super(), nadpisywanie metod, isinstance, podstawy MRO.~12 min
  3. 7.3Metody specjalne (dunder)__str__, __repr__, __eq__, __len__: integracja własnych obiektów z językiem.~12 min
  4. 7.4import i modułyimport, from ... import, aliasy za pomocą as, organizacja kodu w modułach, warunek if __name__ == "__main__".~10 min

08 · Modul 8 — Podstawowa biblioteka standardowa

4 lekcji

Moduły biblioteki standardowej, które napotkasz każdego dnia: json, datetime, collections, re.

  1. 8.1JSON: serializacja i parsowaniejson.dumps / json.loads, mapowanie typów Python ↔ JSON, indent, sort_keys, default.~10 min
  2. 8.2datetime: daty i czasdatetime.now(), date/time/datetime/timedelta, formatowanie za pomocą strftime, parsowanie za pomocą strptime, arytmetyka.~12 min
  3. 8.3collections: Counter i defaultdictCounter do zliczania, defaultdict dla słowników z autoinicjalizacją, namedtuple jako lekki rekord.~12 min
  4. 8.4Moduł re: regex w Pythoniere.search / re.match / re.findall / re.sub, flagi, raw strings r"...", grupy nazwane.~12 min

09 · Modul 9 — Nowoczesny Python: praktyka

4 lekcji

Nowoczesne praktyki w Pythonie: type hints, dataclasses, menedżery kontekstu i dekoratory. Kod, który pisze się w 2025 roku.

  1. 9.1Type hints: adnotacje typówAdnotowanie parametrów i zwracanych wartości, list[int] / dict[str, int], Optional, Union, zarys narzędzia mypy.~12 min
  2. 9.2dataclasses: klasy danych bez boilerplate@dataclass, field(default_factory=...), frozen=True, odpowiednik ręcznego pisania __init__/__repr__/__eq__.~12 min
  3. 9.3Menedżery kontekstu: with oraz __enter__/__exit__with open(...), pisanie własnego menedżera kontekstu z __enter__/__exit__, contextlib.contextmanager.~12 min
  4. 9.4Dekoratory: funkcje modyfikujące funkcjeFunkcje wyższego rzędu, składnia @decorator, functools.wraps, przykład @timeit.~14 min