我已经习惯了Java模型,你可以在每个文件中拥有一个公共类.Python没有这个限制,我想知道组织类的最佳实践是什么.
假设我有以下目录结构:
a\
__init__.py
b\
__init__.py
c\
__init__.py
c_file.py
d\
__init__.py
d_file.py
Run Code Online (Sandbox Code Playgroud)
在a包中__init__.py,c导入包.但是c_file.py进口a.b.d.
程序失败,说尝试导入b时不存在.(它确实不存在,因为我们正在进口它.)c_file.pya.b.d
如何解决这个问题呢?
我可以通过多种方式在Python中导入模块而感到困惑.
import X
import X as Y
from A import B
Run Code Online (Sandbox Code Playgroud)
我一直在阅读有关作用域和名称空间的内容,但我想就什么是最佳策略,在哪种情况下以及为什么,提供一些实用的建议.是否应该在模块级别或方法/功能级别进行导入?在__init__.py模块代码本身中?
我的问题并没有真正回答" Python包 - 按类导入,而不是文件 ",尽管它显然是相关的.