假设你有以下自包含或不包含子包?
b
b/__init__.py
b/c
b/c/__init__.py
b/c/d
b/c/d/__init__.py
在一些Python包,如果你import b
,你只能得到B中定义的符号。要访问b.c,您必须明确地使用import b.c
或from b import c
。换句话说,你必须
import b
import b.c
import b.c.d
print b.c.d
在其他情况下,我看到一个自动导入所有的子包。这意味着下面的代码不会产生错误
import b
print b.c.d
因为b/__init__.py
需要进口及其子包的护理。 我倾向于喜欢第一个(明确优于隐含),我总是使用它,但是有没有第二个优先于第一个的情况?