Python模块的加载问题

描述

模块的加载问题

当导入一个模块时, 模块中的代码都会被执行. 如果再次导入这个模块,则不会再次执行 者为什么这么设计?因为导入模块更多的时候需要的是定义模块中的变量、函数、对象等. 这些并不需要反复定义和执行.“只导入一次 import-only-once ”就成了一种优化. 参考设计模式的单例模式思想核心: 一个模块无论导入多少次,这个模块在整个解释器进程内有且仅有一个实例对象(单例)

重新加载有时候我们确实需要重新加载一个模块,这时候可以使用:importlib.reload() 方法

实操代码

# mypy14_module_load.py

print("当前模块被加载了...")

# mypy14_test.py

import mypy14_module_load  # 不会再执行test02模块中的语句

import mypy14_module_load  # 会执行test02模块中的语句

print("####")

import importlib

importlib.reload(mypy14_module_load)  # 有时候我们确实需要重新加载一个模块,这时候可以使用:importlib.reload() 方法:

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分