模块的加载问题
当导入一个模块时, 模块中的代码都会被执行. 如果再次导入这个模块,则不会再次执行 者为什么这么设计?因为导入模块更多的时候需要的是定义模块中的变量、函数、对象等. 这些并不需要反复定义和执行.“只导入一次 import-only-once ”就成了一种优化. 参考设计模式的单例模式思想核心: 一个模块无论导入多少次,这个模块在整个解释器进程内有且仅有一个实例对象(单例)
重新加载有时候我们确实需要重新加载一个模块,这时候可以使用:importlib.reload()
方法
实操代码
#mypy14_module_load.py
print("当前模块被加载了...")
#mypy14_test.py
importmypy14_module_load#不会再执行test02模块中的语句
importmypy14_module_load#会执行test02模块中的语句
print("####")
importimportlib
importlib.reload(mypy14_module_load)#有时候我们确实需要重新加载一个模块,这时候可以使用:importlib.reload()方法:
-
模块
+关注
关注
7文章
2722浏览量
47577 -
代码
+关注
关注
30文章
4803浏览量
68756 -
python
+关注
关注
56文章
4800浏览量
84822
发布评论请先 登录
相关推荐
评论