Angenommen, Sie haben die folgendeEigener Import von Unterpaketen oder nicht?
b
b/__init__.py
b/c
b/c/__init__.py
b/c/d
b/c/d/__init__.py
In einigen Python-Pakete, wenn Sie import b
, Sie bekommen nur die in b definierten Symbole. Um auf b.c zuzugreifen, müssen Sie explizit import b.c
oder from b import c
. Mit anderen Worten, Sie müssen
import b
import b.c
import b.c.d
print b.c.d
In anderen Fällen sah ich einen automatischen Import aller Unterpakete. Dies bedeutet, dass der folgende Code einen Fehler nicht
import b
print b.c.d
produziert, weil b/__init__.py
kümmert sich seine Subpackages zu importieren. Ich bevorzuge die erste (explizit besser als implizit), und ich habe es immer verwendet, aber gibt es Fälle, in denen der zweite vor dem ersten bevorzugt wird?