Python中__init__.py详解
2022/1/24 20:04:18
本文主要是介绍Python中__init__.py详解,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
转载至:https://mp.weixin.qq.com/s/PksqW03ZtlAiMhsTiH1lBg
刚学python 同学,一定会留意到,当你每创建一个包的时候,下面就会自动给你创建一个__init__.py文件,那这个文件到底有啥用呢?接下来就带大家一起来认识一下。
在平常大家导包的时候,是不是一般这样子import xxx.xxx.xxx 或者from xxx.xxx import xxx, 现在就有一个疑问来了,若是我现在想批量导入一些模块呢?
肯定有同学就说了,一个一个导入不就行了吗?你这么说,其实也没错,还有其他的办法吗?
这个时候__init__.py文件就用上了派场,因为在导包的时候,其实相当于是导入一个__init__.py文件,所以我们是不是在这个文件中配置好我们要导入的模块,就可以实现批量导入了呢?
看实例:
以上面的目录结构为例,我们在operConf下的__init__.py文件加入:
from operConf import confManage from operConf import globalsManage import os
再创建一个模块,把operConf这个包导进来,并且把我们打印一下我们引用模块的信息:
执行结果:
有没有发现这下就可以将我们所需要的模块全部导进来了?
其实在__init__.py文件中,有一个很重要的变量__all__,我们其实只要配置了__all__,就可以在其他模块中直接from 包名 import * ,将配置在__all__列表中的所有模块全部一次性导入进来。
就以上面的为例,我们再优化一下:
我们在operConf下的__init__.py文件中优化为:
from operConf import confManage from operConf import globalsManage import os __all__ = ["confManage", "globalsManage", "os"]
导入包并打印导入模块信息:
再执行一下:
难道就这些吗?
不,当前你可以在__init__.py文件中导入模块中类、也可以在__init__.py文件中写入一些函数进行导入(不建议这样用)
这篇关于Python中__init__.py详解的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-08有遇到过吗?同样的规则 Excel 中 比Python 结果大
- 2024-03-30开始python成长之路
- 2024-03-29python optparse
- 2024-03-29python map 函数
- 2024-03-20invalid format specifier python
- 2024-03-18pool.map python
- 2024-03-18threads in python
- 2024-03-14python Ai 应用开发基础训练,字符串,字典,文件
- 2024-03-13id3 algorithm python
- 2024-03-13sum array elements python