python 自建模块
2017-06-02 本文已影响0人
五行缺觉
1.自建模块
创建一个文件夹,在里面放入作为模块的py文件,这个文件夹可以作为一个包
当没有__init__.py文件时,不能直接使用 import 包名 来导入包里的模块,这时认为包为一个模块,而包是一个文件夹,并不是模块。
2.引入包,并调用里面的模块
① import 包名.模块名
② from 包名 import * ps:此时只能使用__init__.py中__all__中允许调用的模块
③ from 包名 import 模块名
3. 包中的__init__.py文件
__init__.py控制着包的导入行为,某个文件夹放入__init__.py,说明这个文件夹是个包
① 若__init__.py为空
仅仅导入包,并不导入模块
② __init__.py中的__all__
__all__只控制 from 包名 import *中导入的模块
③ 在__init__.py中编写一些内容
加print()输出一些信息,当使用from 包名 import 模块*时 ,会将print里写的内容输出
![](https://img.haomeiwen.com/i6151208/290f5a449fa111dc.png)
![](https://img.haomeiwen.com/i6151208/2d0aa36719f60dee.png)
在__init__.py文件里导入模块,导入包的时候可以直接使用模块里的函数
![](https://img.haomeiwen.com/i6151208/5ea705cdc3b58dbe.png)
![](https://img.haomeiwen.com/i6151208/868761f7f4459717.png)
4.扩展:嵌套的包
![](https://img.haomeiwen.com/i6151208/25aa429086cc6081.png)
![](https://img.haomeiwen.com/i6151208/a66641abd0db7a3b.png)
![](https://img.haomeiwen.com/i6151208/b1240b6bcc880b53.png)