我有一个文件 myfile.py
,它从 file.py
和 file.py
导入 Class1
> 包含对 file2.py
、file3.py
、file4.py
中不同类的导入。
在我的 myfile.py
中,我可以访问这些类还是需要再次导入 file2.py、file3.py 等?
Python 是否会自动添加我导入的文件中包含的所有导入,我可以自动使用它们吗?
最佳答案
最佳做法是导入每个定义您需要的标识符的模块,并使用这些标识符作为模块名称的限定;我建议仅当您导入的是包中的模块时才使用 from
。这个问题经常在 SO 上被讨论。
从许多模块(例如 modb
、modc
、modd
、. ..) 需要一个或多个 moda
定义的标识符,不会减慢你的速度:加载 moda
的字节码(如果需要,可能从其源代码构建) 只有一次,第一次 moda
被导入任何地方,然后模块的所有其他导入使用涉及缓存的快速路径(字典映射模块名称到模块对象,可以作为 sys 访问.modules
以备不时之需...如果您首先 import sys
,当然!-).
关于Python导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2459300/