文章目录
模块(module)
- 模块化指将一个完整的程序分解为一个一个小的模块,通过模块组合,来搭建出一个完整的程序
- 不采用模块化,统一将所有的代码编写到一个文件中,采用模块化,将程序分别编写在多个文件中
模块化的特点
- 方便开发
- 方便维护
- 增加代码的复用性,模块可以复用
模块的创建
- 在python中一个.py文件就是一个模块,创建模块就是创建python文件
创建一个test_module模块
如何引入其他模块
-
import 模块名(模块名是除开.py后缀的文件名)
新建一个.py文件,引入之前建立的test_module模块
运行结果
- 多次import模块,也只会执行一次该模块
- import 模块名 as 模块别名,如 import test_module as test,现在需要使用test_module的地方用test来代替
- import语句可以写在程序的任意位置,一般写在开头
- 每个模块都有一个__name__属性,使用该属性可以获取模块的名字
- __name__属性值为__main__的模块是主模块,一个程序中只有一个主模块,主模块是直接通过python执行的模块
包
- 当模块中代码过多时,或一个模块需要被分解为多个模块时,就需要使用到包
- 普通模块是一个.py文件,包是一个文件夹
- 包中必须要有一个__init__.py文件,该文件可以包含包中主要内容
在pack包中init定义两个变量和一个函数
在另一个.py文件中调用包中的变量和函数
在包中定义一个新模块
访问时包中子模块需要指定导入对应的子模块
__pycache__文件夹
- __pycache__文件夹存放的模块的缓存文件,python代码在执行前,需要先被解析器解析转换为机器码,然后执行;为了提高程序运行速度,python会在编译一次以后,将代码存到一个缓存文件中,避免重复编译引起的效率低;
python标准库
- 为了实现开箱即用的思想,python为我们实现了一个模块的标准库
- 在这个标准库中,有很多强大的模块我们可以直接使用,标准库会随python一起安装
sys模块
- sys模块提供了一些变量和函数,使我们可以获取 python解析器的信息
sys.argv
获取执行该代码时,命令行中包含的参数,以列表返回,列表中保存了当前命令中的所有参数
import sys
print(sys.argv)
sys.modules
获取当前程序中引入的所有模块,以字典返回,字典中key是模块的名字,value是模块对象
pprint 是一个格式输出模块
import pprint
import sys
pprint.pprint(sys.modules)
sys.path
获取当前程序中引入的模块的搜索路径(寻找导入的模块的路径顺序,从第一个一直到最后一个找到就停止,没找到就报错),以列表返回,列表中存有所有路径
import pprint
import sys
pprint.pprint(sys.path)
sys.platform
表示当前python运行的平台
import sys
print(sys.platform)
sys.exit
- 用于退出程序
import sys
sys.exit('程序结束')
os模块
os.environ
- 查看电脑上的环境变量
import pprint
import os
pprint.pprint(os.environ)
os.system()
- 用来执行操作系统的命令
import os
os.system('cmd')