有一个主程序导入模块,其中包含类或其他子模块也应使用的类。例如:
main.py:
import datetime
datetime.now()
import mod
mod.py:
import datetime
导入' mod'模块python给出了一个错误,即' datetime'没有定义。 datetime.now()
无法执行。
如果我需要在python中创建模块化应用程序而不是单文件应用程序,我该怎么办?我应该总是在每个模块文件的头部重复我的导入吗?或者我可以从进一步导入的模块中访问导入的模块吗?
答案 0 :(得分:2)
我是否应该总是在每个模块文件的头部重复我的导入?
是。每个模块都需要导入它需要使用的内容。
正如评论中提到的两位伟大思想家一样,模块的实际加载只发生一次。多次导入将重用已经加载的模块,因此不会对性能产生任何重大影响。