详解python __init__.py 和 __all__作用
作者:lizi0403 时间:2023-08-22 06:55:22
python __init__.py 和 __all__作用
一、__init__.py
1、导入文件夹包的时候,会运行写在该文件夹包下的__init__.py文件
如 import package
import package.xxx
from package import xxx 等
这样会自动运行package文件夹下的__init__.py文件
2、__init__.py文件中可以定义该文件夹包的名字空间,定义的方法就是在__init__.py文件里导入这些名字
如在package文件夹下的__init__.py文件里,可以导入该文件夹下的所有py文件(模块),这样就将所有模块名导入了package的名字空间:
如package文件夹下有file1.py和file2.py两个模块
在package的__init__.py里from . import *就将file1和file2导入了package的名字空间
这样在别处import package导入package包,就可以正常写调用语句如package.file1.func(), package.file2.func()
二、__all__属性
文件夹包下的__ini__.py文件里可以定义__all__属性,作用是在别处模糊导入该包中的所有名字时(from package import *),可以隐藏包中名字空间中的一些名字
补充:python 包 __init__ .py 作用 和 __all__方法
__init__.py的主要作用:
1. Python中package的标识,不能删除
2. 定义__all__用来模糊导入
3. 编写Python代码(不建议在__init__中写python模块,可以在包中在创建另外的模块来写,尽量保证__init__.py简单)
__all__的作用:
模糊导入中的*中的模块是由__all__来定义的,__init__.py的另外一个作用就是定义package中的__all__,用来模糊导入,如__init__.py:
来源:https://blog.csdn.net/qq_41021141/article/details/128933527
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
属性与 @property 方法让你的python更高效
java 中JDBC连接数据库代码和步骤详解及实例代码
Python实现删除windows下的长路径文件
![](https://img.aspxhome.com/file/2023/1/115741_0s.png)
Yii框架实现乐观锁与悲观锁流程详解
Python 删除List元素的三种方法remove、pop、del
什么是XSLT,什么是XPath
什么样的分页案例才是好的
![](https://img.aspxhome.com/file/UploadPic/up/2007112319363210.jpg)
解析Mysql Profiling的使用
使用python检查值是否已经存在于字典列表中
![](https://img.aspxhome.com/file/2023/1/84951_0s.png)
axios 拦截器管理类链式调用手写实现及原理剖析
![](https://img.aspxhome.com/file/2023/6/139746_0s.jpg)
运用Python巧妙处理Word文档的方法详解
![](https://img.aspxhome.com/file/2023/3/104923_0s.jpg)
python发布模块的步骤分享
![](https://img.aspxhome.com/file/2023/0/61230_0s.jpg)
解决Python中定时任务线程无法自动退出的问题
SQL Server 总结复习 (二)
php控制反转与依赖注入举例讲解
![](https://img.aspxhome.com/file/2023/4/55364_0s.png)
Python实现字典序列ChainMap
![](https://img.aspxhome.com/file/2023/9/109479_0s.png)
pycharm设置虚拟环境与更换镜像教程
![](https://img.aspxhome.com/file/2023/7/78447_0s.jpg)
一文带你了解MySQL中触发器的操作
![](https://img.aspxhome.com/file/2023/8/129938_0s.png)
python对json的相关操作实例详解
![](https://img.aspxhome.com/file/2023/2/97112_0s.png)