什么是模块
模块是一系列功能的集合体,而函数是某一个功能的集合体,因此模块可以看成是一一堆函数的集合体,一个py文件内部就可以放一堆函数,因此一个py文件就可以看成一个模块。如果这个py文件的文件名为text.py模块名则为text。
模块的四种形式
python中总共有四种形式的模块:
- 自定义模块:如果你自己写一个py文件,在文件内写入一堆函数,则他被车称为自定义模块,即使用python编写的py文件
- 第三方模块:已被编译为共享库或DLL或C++扩展
- 内置模块:使用C编写并连接到python解释器的内置模块
- 包:把一系列模块组织到一起的文件夹
为什么要有模块
- 用第三方或者内置的模块是一种拿来主义,可极大的开发效率。
- 自己定义模块:将我们自己程序中用到的公共功能,写入一个python文件然后程序的各个部分组件可以通过导入的方式来引用自定义模块功能
如何使用模块
一般我们使用import和from...import...导入模块
import和from...import...
import
导入import是做了三件事:
- 开辟内存空间,内存空间命名为所导入的模块名
- 把模块.py中索引代码读入名称空间,然后运行
- 通过模块名加.方法使用模块中的方法
优点:永不冲突
缺点:每次导入多输入几个字符,非常麻烦
from...import...
from 模块名 import 方法名
同样也做了三件事:
- 开辟内存空间,内存空间命名为所导入的模块名
- 把模块.py中索引代码读入名称空间,然后运行
- 把sleep()读入当前的.py中,因此可以直接使用方法名
如果想导入的非常多的方法只需要加*号
优点:少输入几个字符
缺点:容易发生冲突
自定义模块
自定义模块的用途:分文件存储代码--->函数与函数之间分开--->让不同的模块干不同的事
from...import*则导入模块中所有内容,用__all__=[]可以只y允许导入列表内的变量,只针对from...import*
python文件的两种用途
执行文件:当前运行的文件
模块文件:一个文件既可以时执行文件,也可以是模块文件
if__name_=='__main__'
__name__是每个文件独有的,当该文件作为执行文件运行时,__name__等于'__main__';当该文件作为模块文件导入时__n1me__等于文件名