Zpět na přehled
Základy Pytohnu
Informatika
Střední škola
Petr
22.10.2026
Úvod do programovacího jazyka Python se zaměřením na základní syntaxi, datové typy a řízení toku programu. Python je interpretovaný jazyk s jednoduchým a čitelným syntaxem, který je ideální pro začátečníky a současně mocný nástroj pro profesionální vývoj.
Osnova hodiny
1. Úvod do Pythonu a jeho charakteristik
- Historický vývoj Pythonu (Guido van Rossum, 1991)
- Vlastnosti: interpretovaný jazyk, dynamicky typovaný, multiparadigmatický
- Výhody: čitelnost kódu, rozsáhlá standardní knihovna, širokí aplikace (datová věda, web, automatizace, AI)
- Instalace a konfigurační prostředí (IDE: PyCharm, VS Code, Thonny)
- REPL (Read-Eval-Print Loop) a interaktivní režim
2. Základní syntax a datové typy
- Proměnné a pojmenování (konvence PEP 8)
- Primitivní datové typy: int, float, str, bool
- Operace s čísly: aritmetické operátory (+, -, *, /, //, %, **)
- Operace s řetězci: concatenace, indexování, slicing, f-stringy
- Konverze typů: int(), float(), str(), bool()
3. Vstup a výstup dat
- Funkce print() – výstup na obrazovku s parametry sep, end
- Funkce input() – čtení vstupu z klávesnice (vrací vždy string)
- Formátování výstupu: %-formátování, metoda format(), f-stringy
- Ošetření typů při převodu vstupu
4. Kolekce a složitější datové struktury
- Seznamy (list): vytvoření, indexování, slicing, modifikace
- Řetězce (str): immutabilita, metody (upper(), lower(), split(), join())
- N-tice (tuple): immutabilní seznamy, rozbalování
- Slovníky (dict): klíč-hodnota páry, přístup, modifikace
- Základní operace: len(), in, iterace přes kolekce
5. Podmínková logika
- Booleovské hodnoty a operátory: and, or, not
- Operátory porovnání: ==, !=, <, >, <=, >=
- Příkaz if-elif-else: struktura a odsazování
- Vnořené podmínky a logické kombinace
- Třístavová přiřazení (ternární operátor)
6. Cykly a iterace
- Cyklus for: iterace přes kolekce, range()
- Cyklus while: podmínkový cyklus, riziko nekonečné smyčky
- Příkazy break a continue: řízení toku smyčky
- Vnořené cykly a jejich efektivita
- List comprehension: elegantní vytváření seznamů
7. Funkce a modularita
- Definice funkcí: def, parametry, return
- Implicitní a pojmenované parametry
- Lokální a globální proměnné, scope
- Dokumentační řetězce (docstring)
- Lambda funkce pro jednoduché operace
- Principy DRY (Don't Repeat Yourself)
8. Práce se soubory
- Otevírání a zavírání souborů: open(), close()
- Kontextový manažer: with statement
- Čtení: read(), readline(), readlines()
- Zápis: write(), writelines()
- Práce s cestami a formáty: .txt, .csv, JSON
9. Chyby a výjimky
- Syntaktické chyby vs. běhové chyby
- Běžné výjimky: ValueError, TypeError, IndexError, KeyError, FileNotFoundError
- Blok try-except-finally: ošetření chyb
- Vlastní chybové zprávy a raise
- Debugging: print() debugging, debugger, logging
10. Standardní knihovna a importy
- Import modulů: import, from...import, as
- Modul math: funkcí pro matematické operace
- Modul random: generování náhodných čísel
- Modul datetime: práce s datem a časem
- Modul os: interakce se systémem
- Organizace vlastního kódu: packages a moduly
11. Praktické příklady a miniaturní projekty
- Jednoduché kalkulačky a převody jednotek
- Generátor hesel a nástroje pro práci s textem
- Gra hadej číslo, kvizy, seznamy úkolů
- Analýza textových dat a počítání frekvencí
- Projekt: propojení více konceptů – datový analyzátor nebo todo aplikace
12. Úskalí a best practices
- PEP 8: konvence psaní kódu
- Názvy proměnných: snake_case vs. camelCase
- Problém s mutable default argumenty
- Off-by-one chyby v cyklech
- Efektivita: asymptotická složitost, profiling
- Čitelnost kódu a komentáře
Klíčové pojmy
Interpretovaný jazyk
Programovací jazyk, který se spouští příkazem řádku interpretátoru v reálném čase, bez nutnosti kompilace do strojového kódu. Python se překládá mezikódem (bytecode) a spouští se virtuálním strojem CPython.
Dynamické typování
Vlastnost jazyka, kdy se typ proměnné určuje za běhu a nemusí se deklarovat při vytvoření. Stejná proměnná může v průběhu programu obsahovat různé typy dat.
Odsazování (indentation)
V Pythonu je odsazování součástí syntaxe, která určuje logickou strukturu bloku kódu. Nahrazuje složené závorky jiných jazyků a zvyšuje čitelnost.
Proměnná
Pojmenované místo v paměti, které uchovává hodnotu. V Pythonu se vytváří přiřazením hodnoty bez explicitní deklarace typu.
Datový typ
Klasifikace údajů definující, jaké hodnoty mohou obsahovat a jaké operace je možno s nimi provádět. Základní typy v Pythonu: int, float, str, bool, list, dict, tuple.
Funkce
Blok kódu, který provádí určitou úlohu, lze jej volat opakovaně s různými parametry. Zvyšuje modularitu a znovupoužitelnost kódu.
Return
Příkaz, který ukončuje funkci a vrací hodnotu volajícímu kódu. Bez explicitního return vrací funkce None.
Scope (rozsah platnosti)
Oblast programu, ve které je proměnná dostupná. Rozlišujeme lokální scope (uvnitř funkce) a globální scope (na úrovni modulu).
List comprehension
Elegantní a efektivní syntaxe pro vytváření nových seznamů na základě existujících. Příklad: $[x^2 \text{ for } x \text{ in range}(5)]$ vytvoří $[0, 1, 4, 9, 16]$.
Výjimka (exception)
Běhová chyba, která přeruší normální chod programu. Příklady: ValueError, TypeError, IndexError. Lze ji zachytit a zpracovat příkazem try-except.
Modul
Soubor obsahující kód Pythonu (funkce, proměnné, třídy), který lze importovat do jiných programů. Standardní knihovna obsahuje stovky modulů pro různé účely.
PEP 8
Python Enhancement Proposal #8 – oficiální doporučení pro styl psaní kódu v Pythonu. Obsahuje pravidla pro názvy, odsazování, délku řádků a další aspekty čitelnosti.