Moduły

  • kwestia organizacyjna
  • instrukcje from i import
  • możliwość importu całego modułu lub jego części
  • from collections import OrderedDict
  • from foo import *
  • każdy plik jest modułem
  • importowany raz
  • nie powinien samoczynnie wykonywać kodu
  • można wymusić przeładowanie modułu
  • wbudowana funkcja reload Python2
  • funkcja modułu imp.reload Python3
  • nazwa pliku = nazwa modułu
  • zdefiniowane obiekty są atrybutami modułu
  • __dict__ dir()
  • __name__ dostępna nazwa modułu
  • __name__ jest ustawiony na __main__ jeśli moduł został wywołany

Wyszukiwanie modułów

  • zmienna systemowa PYTHONPATH
  • folder root skryptu wejściowego
  • dostępne ścieżki w czasie uruchomienia sys.path

Pakiety

  • katalog = pakiet
  • wymagany plik __init__.py - może być pusty
  • przy imporcie pakietu najpierw uruchamiany jest __init__
  • specjalny atrybut __all__, pozwalający na definiowanie exportów