Moduly a balíčky
- Vhodné dělit funkcionalitu do více souborů, případně i vytvářet knihovny a sdílet jejich funkcionalitu
- Tyto soubory je pak možné importovat a využívat jejich funkcionalitu i jinde
- Modul má vlastní jmenný rozsah ⇒ je možné využívat 2 stejnojmenné funkce z různých modulů
Info
modul … soubor obsahující Python definice a příkazy název modulu … název souboru s příponou
.py
Postup vytvoření vlastního modulu
- Vytvoříme soubor
my_module.py
- Jeho obsahem budou funkce, které chceme použít i jinde
- Poté v jiném skriptu umístěném ve stejné složce modul importujeme
PEP8 okénko
- Je možné importovat jména z jmenného prostoru modulu do aktuálního
- Taktéž je možné importovat takto všechna jména (nedoporučuje se používat) či modul přejmenovat (případně přejmenovat jednotlivé funkce)
Odkud se moduly importují?
- Interpret začíná hledáním modulů vestavěných
- V případě neúspěchu hledá soubor s daným název
modul.py
v seznamu adresářů uložené v proměnnésys.path
- Seznam obsahuje adresář odkud byl skript spuštěn,
PYTHONPATH
s cestami k instalovaným modulů a další
Balíčky
- Způsob jak strukturovat jmenný prostor Python modulu
Příklad struktury balíčku
- Speciální soubor
__init__.py
zajišťuje že Python bude složku považovat za balíček - Pro inicializaci stačí prázdný soubor, případně může obsahovat inicializaci balíčku
- Import pak probíhá následujícím způsobem
- Importy lze provádět i v rámci balíčku
Instalace externích balíčků
- Většinou instalujeme externě z Python Package Index (PyPI) pomocí nástroje
pip
- Názorná ukázka instalace
- Podrobnější informace zde