1.包的概念
为了组织好模块,将多个模块分为一个包。包是python模块文件所在的目录,且该目录下必须存在__init__.py文件。常见的包结构如下:
package_a
├── __init__.py
├── module_a1.py
└── module_a2.py
package_b
├── __init__.py
├── module_b1.py
└── module_b2.py
有2个模块功能有些联系:
所以将其放到同一个文件夹下:
使用import 文件.模块 的方式导入:
使用from 文件夹 import 模块 的方式导入:
在msg文件夹下创建__init__.py文件:
在__init__.py文件中写入:
重新使用from 文件夹 import 模块 的方式导入:
包将有联系的模块组织在一起,即放到同一个文件夹下,并且在这个文件夹创建一个名字为__init__.py 文件,那么这个文件夹就称之为包。
有效避免模块名称冲突问题,让应用组织结构更加清晰。
2 __init__.py
__init__.py 控制着包的导入行为。
如果__init__.py为空,那么仅仅是将包导入,不会导入包的任何模块。
在__init__.py文件中,定义一个__all__变量,它控制着 from 包名 import *时导入的模块。
可以在__init__.py文件中编写内容,可以在这个文件中编写语句,当导入时,这些语句就会被执行。
_init__.py