__init__.py文件管理Package
__init__.py文件
1.
创建一个结构如上图的文件夹:
- test文件夹里包含A文件夹、B文件夹和测试文件test.py
- A文件夹下包含A_A文件夹
- A_A文件夹下面包含testa_a.py文件,里面有funca_a函数可以打印消息
- A文件夹下有testa.py和testa2.py文件,分别有函数funca和funca2,可以打印消息
- B文件夹下有testb.py文件,有函数funcb,可以打印消息
- A文件夹下包含A_A文件夹
1 | #test.py |
2.
在大部分情况下,使用A里面的函数,不会去一条一条的from…impot,而是
1 | from A import * |
然而,不能直接对A进行上述操作,此时A还不是一个package,我没需要添加__init__.py函数
3.创建__init__.py
在A文件下创建文件__init__.py
1 | #__init__.py |
- 使用__init__.py函数后,可以看到A已经变成一个可以使用的package
- 通过out的输出,可以知道在__init__.py函数里面可以进行一些初始化的操作,比如打印信息
此时也可以直接
1 | import A |
结果是一样的
4.__all__参数
在__init__.py里面一行行的from…impor…似乎也没方便多少,可以使用__all__来快速导入需要的.py文件
1 | #__init__.py |
- __all__是一个列表参数,里面元素是不带后缀的文件名字符串
- 不能使用import A
1 | #test.py |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 DogWealth!
评论
ValineTwikoo