Zpět na přehled

Python

Informatika Střední škola Petr 21.10.2026

Python je interpretovaný, vysokoúrovňový programovací jazyk s jednoduchou syntaxí, který je ideální pro začátečníky i profesionály. Zaměříme se na základní koncepty, datové typy, řízení toku programu a praktické aplikace v informatice.

Osnova hodiny

1. Úvod do Pythonu a jeho charakteristiky
  • Historie a vývoj Pythonu (Guido van Rossum, 1991)
  • Důvody popularity: čitatelnost kódu, univerzálnost, rozsáhlé knihovny
  • Interpretovaný vs. kompilovaný jazyk – výhody a nevýhody
  • Instalace a konfigurace prostředí (IDLE, VS Code, PyCharm)
  • Spuštění prvního programu: print('Hello, World!')
2. Základní syntaxe a proměnné
  • Proměnné a pojmenování (konvence snake_case)
  • Typování v Pythonu: dynamické typování
  • Komentáře (# jednořádkové, '''třířádkové''')
  • Pravidla pro identifikátory a klíčová slova
  • Vstup a výstup: input(), print() s formátováním
3. Datové typy a struktury
  • Primitivní typy: int, float, str, bool
  • Operace s čísly: aritmetické operátory, mocnina ($x^n$), modulo ($x \bmod n$)
  • Práce s řetězci: konvence, escape sekvence, indexování, slicing
  • Seznamy (list) – mutabilní, indexování, metody (append, insert, remove, pop)
  • Tuples (tuple) – imutabilní sekvence, použití
  • Slovníky (dict) – páry klíč-hodnota, iterace, metody (keys(), values(), items())
  • Množiny (set) – unikátní prvky, operace (union, intersection, difference)
4. Operátory a logika
  • Aritmetické operátory: +, -, *, /, //, %, **
  • Relační operátory: ==, !=, <, >, <=, >=
  • Logické operátory: and, or, not a jejich tabulky pravdivosti
  • Operátory přiřazení: =, +=, -=, *=, /=
  • Operátor membership: in, not in
5. Řízení toku programu
  • Podmínkové příkazy: if, elif, else (vnořené podmínky)
  • Ternární operátor: x if podmínka else y
  • Cyklus while – podmínka, break, continue
  • Cyklus for – iterace přes sekvence, range(), enumerate()
  • Vnořené cykly a jejich efektivita
  • Praktické příklady: vyhledávání, počítání prvků, součty
6. Funkce a modulární programování
  • Definice funkcí: def, parametry, return
  • Formální a aktuální parametry
  • Standardní parametry, *args (variabilní počet argumentů), **kwargs (klíčované argumenty)
  • Rozsah platnosti proměnných (scope): local, global, nonlocal
  • Dokumentační řetězce (docstrings)
  • Lambda funkce pro jednoduché operace: lambda x: x**2
  • Vestavěné funkce: len(), max(), min(), sum(), sorted(), map(), filter()
7. Práce se soubory
  • Otevírání souborů: open(), módy 'r', 'w', 'a'
  • Čtení: read(), readline(), readlines()
  • Psaní do souborů: write(), writelines()
  • Context manager: with statement pro bezpečné zpracování
  • Práce s CSV a JSON soubory (moduly csv, json)
8. Objektově orientované programování (základy)
  • Třídy (class) a objekty – koncepty
  • Konstruktor __init__() a atributy
  • Metody a self
  • Dědičnost (inheritance) – parent a child třídy
  • Enkapsuláce – privátní atributy (začínající _)
  • Polymorfismus a přepsání metod
9. Práce s chybami a výjimkami
  • Typy chyb: SyntaxError, NameError, TypeError, ValueError, IndexError
  • Try-except-finally blok pro ošetření výjimek
  • Specifické zachycování výjimek
  • Vyvolávání vlastních výjimek: raise
  • Debugging: print(), assert, pdb modul
10. Praktické aplikace a knihovny
  • Modul math – funkcí ($\sin(x)$, $\cos(x)$, $\sqrt{x}$, $\pi$)
  • Modul random – generování náhodných čísel
  • Modul datetime – práce s daty a časem
  • Modul os – operace se soubory a adresáři
  • Modul requests – webové dotazy (API)
  • Modul matplotlib – vytváření grafů a vizualizací
  • Modul numpy – práce s poli a numerickými výpočty
11. Algoritmy a datové struktury
  • Lineární vyhledávání vs. binární vyhledávání
  • Algoritmy třídění: Bubble Sort, Selection Sort, Merge Sort (složitost)
  • Rekurze – faktoriál, Fibonacciho sekvence, definice a terminace
  • Stack a Queue – implementace v Pythonu
  • Grafy a stromy – základní reprezentace
  • Dynamické programování – koncept a příklady
12. Best Practices a optimalizace
  • Konvence kódu: PEP 8
  • Pojmenování proměnných a funkcí – srozumitelnost
  • Dokumentace a komentáře
  • DRY princip (Don't Repeat Yourself)
  • Testování kódu: Unit testy (unittest modul)
  • Výkon a optimalizace – profiling, benchmarking
13. Projekt: Komplexní příklad
  • Zadání: Program na správu osobního rozpočtu
  • Struktura: třídy (Transakce, Rozpočet), funkcionalita pro přidávání/mazání záznamů
  • Ukládání do JSON souboru
  • Statistika a analýza – sumy, kategorie, grafy
  • Uživatelské rozhraní prostřednictvím konzole
  • Zpracování chyb a validace vstupu

Klíčové pojmy

Proměnná
Pojmenované úložiště pro hodnotu v paměti programu. V Pythonu není potřeba předem deklarovat typ; je určen při přiřazení hodnoty.
Datový typ
Kategorie dat určující, jaké hodnoty mohou být uloženy a jaké operace s nimi lze provádět (int, float, str, bool, list, dict, set, tuple).
Funkce
Opakovaně použitelný blok kódu, který provádí konkrétní úkol. Přijímá vstupní parametry a vrací výstupní hodnotu pomocí return.
Algoritmus
Kroku-za-krokem postup řešení problému nebo výpočet zadaného úkolu. V informatice se hodnotí časová a prostorová složitost.
Cyklus
Kontrolní struktura, která opakuje blok kódu dokud je podmínka splněna (while) nebo pro každý prvek sekvence (for).
Podmínka
Logický výraz vyhodnocovaný na True nebo False, který určuje, zda se určitý kód vykoná (if, elif, else).
Trída
Šablona pro vytváření objektů v objektově orientovaném programování. Obsahuje atributy a metody definující chování.
Objekt
Instance třídy obsahující konkrétní data (atributy) a funkčnost (metody). Základní jednotka OOP.
Výjimka (Exception)
Chyba běhů programu (TypeError, ValueError, IndexError), kterou lze zachytit a ošetřit pomocí try-except bloku.
Modul
Soubor obsahující Python kód (funkce, třídy, proměnné), který lze importovat do jiného programu. Rozšiřuje funkcionalitu.
Rekurze
Technika, kdy funkce volá sama sebe s jednodušším vstupem. Vyžaduje terminační podmínku pro zabrání nekonečné smyčce.
Indexování
Přístup k jednotlivým prvkům sekvence (list, string, tuple) pomocí celočíselné pozice počínaje 0 (v Pythonu také záporné indexy).
Slicing
Extrakce podmnožiny sekvence pomocí syntaxe $\text{sekvence[start:stop:step]}$, která vrací novou sekvenci.
Mutabilita
Schopnost struktury měnit svůj obsah po vytvoření. Seznamy a slovníky jsou mutabilní, tuples a stringy jsou imutabilní.
Enkapsuláce
Princip OOP skrývajícího vnitřní detaily objektu a zpřístupňujícího pouze nezbytné rozhraní. Zvyšuje zabezpečení a srozumitelnost.

Vygenerovat materiály k hodině

Vygenerujte si, prezentaci, pracovní listy, testy, hru, kvíz, křížovky a další materiály k této hodině.

Začít zdarma Přihlásit se