Python语言基础14:模块 学习笔记
模块
模块化:指将一个完整的程序分解为一个一个小的模块
通过将模块组合,来搭建出一个完整的程序
不采用模块化,统一将所有的代码编写到一个文件中
采用模块化,将程序分别编写到多个文件中
模块化的特点:
1 方便开发
2 方便维护
3 模块可以复用
'''
在Python中一个py 文件就是一个模块
注意:模块名要符合标识符的规范
在一个模块中引用外部模块
1 import 模块名 (模块名,就是Python 文件的名字,不要后缀py)
2 import 模块名 as 模块别名
可以引入同一个模块多次,但是模块的实例只会创建一个
import 可以在程序的任意位置调用,但是一般情况下,import 语句都会统一写在程序的开头
在每一个模块内部都有一个 __name__ 属性,通过这个属性可以获取到模块的名字
__name__ 属性值为 __main__ 的模块是主模块,一个程序中只有一个主模块
主模块是我们通过python 执行的模块
'''
#import test_module
import test_module as tm
print(tm)
print(__name__)
print(tm.__name__)
包
'''
包也是一个模块
当模块中的代码过多时,或者一个模块需要被分解为多个模块时,这时就需要使用到包
普通的模块就是一个py文件,而包是一个文件夹
包中必须要一个一个 __init__.py 这个文件,这个文件中可以包含有包中的主要内容
'''
from hello import a,b
print(a.aa)
print(b.bb)
# __pycache__ 是模块的缓存文件
'''
py代码在执行前,需要被解析器先转换为机器码,再执行
因此在使用模块或包时,也需要将模块的代码先转换为机器码,再进行执行
为了提高程序运行的性能,python 会在编译一次以后,将代码保存到一个缓存文件中
在下次再加载该模块时,就可以不用再编译,而是直接加载缓存中已经编译好的代码即可
'''
标准库
https://docs.python.org/3/index.html
Gobal Module Index
'''
python 开箱即用
为了实现开箱即用的思想,Python中提供了一个模块的标准库
在这个标准库中,有很多强大的模块,可以直接调用
并且标准库会随着Python 一起安装
sys 模块,提供了一些变量和函数,可以获取到Python 解析器的信息
或者通过函数操作Python 解析器
'''
# 引入 sys 模块
import sys
# sys.argv
# 获取执行代码时,命令行中所包含的参数
# 该属性是一个列表,列表中保存了当前命令的所有参数
print(sys.argv)
# sys.modules
# 获取当前程序中引入的所有模块
# modules 是一个字典,字典的key 是模块的名字,字典的value 是模块对象
print(sys.modules)
# pprint 模块提供了一个方法 pprint() ,该方法可以用来对打印的数据做简单的格式化
import pprint
pprint.pprint(sys.modules)
# sys.path
# 是一个列表,列表中保存的是模块的搜索路径
pprint.pprint(sys.path)
# sys.platform
# 表示当前Python运行的平台
print(sys.platform)
# sys.exit()
# 函数用来退出的程序
# sys.exit('程序出现异常,并且退出')
print('**************************************')
# sys.os
# 该模块提供对操作系统进行访问
import os
# os.environ
# 通过这个属性可以获取到系统的环境变量
pprint.pprint(os.environ['path'])
# os.system()
# 可以用来执行操作系统的名字
os.system('dir') # 在dos,执行dir 查看目录
os.system('notepad') # 打开记事本