
test01.py代码如下:
from caogaoben import *
f1()
f2()
f3()
f4()
*从上面执行结果看,仅f1()和f2()函数被执行,所以模块中__all__的作用是,当模块被以 from caogaoben import * 这种方式调用时,仅__all__中包含的函数可以被导入。
init__的作用

若caogaoben.py模块在demo01文件夹下,test01.py调用如下,
from demo01.caogaoben import *
*此时需要demo01文件夹下有一个__init__.py文件,test01.py才能导入成功。
*在__init__.py文件中,可以使用__all__ = {‘test01’,‘test02’}的方式,控制demo01目录下哪些模块可以被调用。
总结:
包将有联系的模块组织在一起,即放到同一文件夹下,并且在这个文件夹创建一个名字为__init__.py文件,那么这个文件夹就称之为包。
有效避免模块名称冲突问题,让应用组织结果更清晰。
*__init__py文件为空,仅仅是把这个包导入,不会导入包中的模块。文件中的语句,在导入时,直接被执行。
本文详细解析了Python中模块导入的原理,重点介绍了__all__变量如何控制模块成员的导入范围,以及__init__.py文件在包管理中的作用。通过具体代码示例,阐述了如何利用这些特性有效避免模块名称冲突,使应用程序结构更加清晰。
1260

被折叠的 条评论
为什么被折叠?



