Podstawy Pythona
Kurs programowania w Pythonie (bez programowania obiektowego). Tematycznie odpowiada kursowi 'Podstawy Javy' - uczen, ktory zrobi oba, zobaczy te sama logike w dwoch jezykach (rozna skladnia).
Wprowadzenie do Pythona
Pierwszy program i funkcja print. Podstawowe typy. Operacje arytmetyczne. Instrukcje warunkowe i petla for. (Odpowiednik tematu 1 z kursu Java - ta sama logika, prostsza skladnia.)
Zmienne, typy i operatory
Typy proste (int, float, str, bool). Przypisanie i typowanie dynamiczne. Operatory arytmetyczne. Konwersja typow (int(), float(), str()). Dzielenie / vs // i reszta %. Roznice wzgledem Javy: brak deklaracji typu, brak ++/--, / zawsze daje float.
Instrukcje warunkowe
Operatory porownania i logiczne (and, or, not). Instrukcje if / elif / else. Dopasowanie match-case (odpowiednik switch z Javy). Wyrazenie warunkowe (a if warunek else b). Porownywanie tekstow. Roznice wzgledem Javy: slowa and/or/not zamiast &&/||/!, wartosci True/False (z wielkiej litery).
Petle i rekurencja
Petla for z range(). Petla while. Odpowiednik do-while (while True + break - Python nie ma do-while). Przerywanie i kontynuowanie (break, continue). Petle zagniezdzone. Rekurencja (silnia, Fibonacci, liczby pierwsze). Iteracja po liscie danych (dodatek data=[]).
Listy
Listy w Pythonie - odpowiednik tablic z Javy, ale wygodniejsze: dynamiczny rozmiar, metody append/insert/remove/pop, wycinki (slicing), iteracja, wbudowane len/sum/max/min/sorted, list comprehension. Cwiczenia na gotowych danych (dodatek data=[]).
Słowniki
Slownik (dict) - kolekcja par klucz: wartosc. Odpowiednik mapy (HashMap) z Javy, ale wbudowany w jezyk i bardzo wygodny. Tworzenie, dostep po kluczu, dodawanie/usuwanie, sprawdzanie klucza (in, .get), iteracja (.keys/.values/.items), slownik jako licznik. Druga - obok listy - kluczowa kolekcja Pythona.
Krotki
Krotka (tuple) - uporzadkowany zbior elementow jak lista, ale NIEMODYFIKOWALNY (immutable). Tworzenie, dostep po indeksie, rozpakowywanie (unpacking), zwracanie wielu wartosci z funkcji, lista krotek. Krotek uzywamy tam, gdzie dane nie maja sie zmieniac (np. wspolrzedne, rekord).
Zbiory
Zbior (set) - kolekcja UNIKALNYCH elementow bez kolejnosci. Tworzenie, automatyczne usuwanie duplikatow, dodawanie/usuwanie, szybkie sprawdzanie przynaleznosci (in), operacje matematyczne: suma (|), czesc wspolna (&), roznica (-). Uwaga: zbior nie ma ustalonej kolejnosci, wiec do wyswietlenia elementow uzywamy sorted().
Algorytmy na listach
Klasyczne algorytmy zaimplementowane wlasnorecznie (bez gotowca sorted): sortowanie babelkowe i przez wstawianie, wyszukiwanie liniowe i binarne. Cwiczenia na gotowych danych (dodatek data=[]). Lustro tematu o algorytmach z Javy.
Funkcje i moduly
Wlasne funkcje (def, parametry, return, argumenty domyslne). Moduly biblioteki standardowej: math (pierwiastki, zaokraglenia, stale) i random (liczby losowe). Operacje na napisach (metody str). Lustro tematu o klasach bibliotecznych z Javy - w Pythonie funkcje stoja samodzielnie (bez klas).
Wyjatki
Obsluga bledow wykonania: try / except / else / finally. Lapanie konkretnych typow (ZeroDivisionError, ValueError). Zglaszanie wyjatkow (raise). Lustro tematu o wyjatkach z Javy (tam try/catch/finally) - w Pythonie 'except' zamiast 'catch'.