Ilekroć to from 'x' import 'y'
robiłem, zastanawiałem się, który z nich jest uważany za „moduł”, a który „pakiet” i dlaczego nie jest odwrotnie?
Ilekroć to from 'x' import 'y'
robiłem, zastanawiałem się, który z nich jest uważany za „moduł”, a który „pakiet” i dlaczego nie jest odwrotnie?
Odpowiedzi:
Moduł Python to po prostu plik źródłowy Python, który może ujawniać klasy, funkcje i zmienne globalne.
Po zaimportowaniu z innego pliku źródłowego Python nazwa pliku jest traktowana jako przestrzeń nazw.
Pakiet Python to po prostu katalog modułów Pythona.
Na przykład wyobraź sobie następujące drzewo katalogów w /usr/lib/python/site-packages
:
mypackage/__init__.py <-- this is what tells Python to treat this directory as a package
mypackage/mymodule.py
Więc zrobiłbyś:
import mypackage.mymodule
lub
from mypackage.mymodule import myclass