Jazyk Python

Cílem předmětu je seznámit studenty s programováním v jazyce Python, který patří mezi nejpopulárnější programovací jazyky současnosti. Předpokládá se pokročilejší znalost procedurálního programování (znalost jazyka Python není vyžadována) a algoritmizace. Při výuce je kladen důraz na efektivní a praktické použití jazyka Python.

Seznam seminářů

Obsah následujících stránek je pouze doprovodný materiál, nenahrazuje účast na semináři.

  1. Úvod a základy jazyka Python
  2. Funkce a moduly
  3. Výjimky a dekorátory
  4. Objektově orientované programování (OOP)
  5. Dunder metody a dekorátory tříd
  6. Iterátory a generátory
  7. Práce se souborovým systémem
  8. Rozpoznávání vzorů a regulární výrazy
    a bonus Další moduly standardní knihovny
  9. Testování (pytest) a type hinting
  10. NumPy, Pandas a Matplotlib
  11. Framework Flask
  12. Paralelní výpočty

Spoluautorem některých materiálů a úkolů je Mgr. Tomáš Mikula Ph.D.. Celý kurz je inspirován/přejatý z https://tomasmikula.cz/.

Seznam úkolů

Nevíte si rady? Přečtěte si "Jak pracovat s Github Classroom?".

Co je potřeba na první seminář?

Doporučuji všem dojít na první seminář, protože si ukážeme jak pracovat s github classroom, ve kterém budete odevzdávat domácí úkoly. Aby cvičení proběhlo bezproblémově, tak je potřeba si nachystat:

  1. Vlastní počítač (volitelně, na učebně budou připravené počítače, není jich však dostatek pro všechny studenty).
  2. Nainstalovaný jazyk Python 3.12+ ke stažení zde.
  3. Účet na Github.com.
  4. Stažený a nainstalovaný git klient (například) GitHub Desktop.
  5. Stažené a nainstalované vývojářské studio Visual Studio Code (volitelně).
  6. Osobní číslo studenta ze systému STAG (např. R180055).
  7. Demonstrace systému github proběhne na prvním semináři, ale můžete si jej sami vyzkoušet (podle návodu "Jak pracovat s Github Classroom?") na prvním úkolu H00 - Hello world (volitelně).

Splnění předmětu

Na seminářích budou postupně zadávány úkoly (dohromady bude 10 bodovaných úkolů + 1 nebodovaný na konci):

Lokální testování

U většiny úkolů je možné provést lokální testování bez nutnosti odesílat kód do Github Classroom. Pro jeho funkčnost je nutné nainstalovat knihovny pytest a pytest-console-scripts. Pokud je k dispozici v daném úkolu pouze jeden soubor tests.py, spouští se testy příkazem pytest tests.py. Pokud je souborů s testy více, jsou uloženy ve složce tests. V takovém případě je možné testy spustit jen příkazem pytest z hlavní složky repozitáře s úkolem, nebo ze složky tests.

Instalace balíčku pytest na UNIX systému (Linux, Mac OS a další):

$ python3 -m pip install pytest pytest-console-scripts

Instalace balíčku pytest na Windows systému:

$ py -m pip install pytest pytest-console-scripts
Plagiátorství

Veškeré odevzdané zdrojové kódy jsou automaticky testované na plagiátorství systémem Moss. Při prokázaném plagiátorství ztrácí oba studenti/studentky nárok na získání zápočtu a situaci dále řeší vedoucí katedry, viz. stránky katedry.

Soubor .gitignore pro Python 3

Při práci na úkolech bude vytvářeno velké množství souborů, které není žádoucí odesílat do repozitáře na Githubu. Základní sadu souborů můžete jednoduše ignorovat umístěním speciálního souboru .gitignore do hlavní složky s úkolem. Obsah ukázkového .gitignore souboru naleznete zde.

V případě, že Vaše vývojové prostředí vytváří podpůrné složky (například složka .idea/) je možné tuto složku přidat do souboru .gitignore.

Užitečné odkazy

Doporučená literatura