模块(module)简介
模块化——指将一个完整的程序分解为一个一个小的模块,通过将模块组合,来搭建出一个完整的程序。
模块化的特点:
① 方便开发
② 方便维护
③ 模块可以复用!
在Python中一个py文件就是一个模块,要想创建模块,实际上就是创建一个python文件
- 注意:模块名要符号标识符的规范
模块的使用
# 在一个模块中引入外部模块
# ① import 模块名 (模块名,就是python文件的名字,注意不要py)
# ② import 模块名 as 模块别名
# - 可以引入同一个模块多次,但是模块的实例只会创建一个
# - import可以在程序的任意位置调用,但是一般情况下,import语句都会统一写在程序的开头
# - 在每一个模块内部都有一个__name__属性,通过这个属性可以获取到模块的名字
# - __name__属性值为 __main__的模块是主模块,一个程序中只会有一个主模块
# 主模块就是我们直接通过 python 执行的模块
import test_module as test
# print(test.__name__)
print(__name__)
# 也可以只引入模块中的部分内容
# 语法 from 模块名 import 变量,变量....
# from m import Person
# from m import test
# from m import Person,test
包Package
- 包————也是一个模块,当我们模块中代码过多时,或者一个模块需要被分解为多个模块时,这时就需要使用到包,普通的模块就是一个py文件,而包是一个文件夹
- 包中必须要一个一个 init.py 这个文件,这个文件中可以包含有包中的主要内容
#语法:from 包 import 普通模块
from Bao import A , B
print(A.a)
print(B.b)
__pycache__文件
- python在运行模块时会自动生成__pycache__文件
- pycache 是模块的缓存文件
- py代码在执行前,需要被解析器先转换为机器码,然后再执行
- 所以我们在使用模块(包)时,也需要将模块的代码先转换为机器码然后再交由计算机执行
- 而为了提高程序运行的性能,python会在编译过一次以后,将代码保存到一个缓存文件中
- 这样在下次加载这个模块(包)时,就可以不再重新编译而是直接加载缓存中编译好的代码即可
python标准库
强大的python为我们提供里一个模块的标准库,并且模块的标准库会随着python的安装一同安装,我们只需要引用就可以应用
- 官方网址:https://docs.python.org/3/py-modindex.html
- 中文网:https://docs.python.org/zh-cn/3.7/library/index.html
- python标准库简介:https://docs.python.org/zh-cn/3/tutorial/stdlib.html
python常用的内置标准模块
第三方模块的下载与安装
由于python代码为开源,所有由很多大牛二次开发了很多牛逼的模块,便捷,功能强大。
我们可以通过pip工具安装python所需要的环境包
pip list #列出已安装的包
pip install xxx #安装要安装的包
pip install django==.1.1.5 #安装特定版本
pip freeze > environment.txt #导出python的环境
pip install -r environment.txt #从导出的python环境中安装所需要的包
pip uninstall -r environment.txt #卸载导出的python环境中的包
pip install -U <包名> #升级包
pip show -f <包名> #显示包所在的目录
pip search <搜索关键字> #搜索包
pip list -o #查询可升级的包
pip install <包名> -d <目录> 或 pip install -d <目录> -r environment.txt #下载包而不安装