Python学习之路(7)模块__all__ __init__

Python学习之路(7)模块__all__ __init__
test01.py代码如下:
from caogaoben import *

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


init__的作用
Python学习之路(7)模块__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文件为空,仅仅是把这个包导入,不会导入包中的模块。文件中的语句,在导入时,直接被执行。