- 9. 模块、包、标准库
- 9.1 模块
- 9.1.1 模块导入方法
- 9.1.2 自定义模块
- 9.1.3 __all__用法
- 9.2 包
- 9.2.1 创建包
- 9.2.2 导入包
- 9.2.3 `__init__.py` 作用
- 9.3 查看模块方法
- 9.4 标准库
- 9.4.1 常见的标准库
- 9.4.2 第三方库(模块)下载和安装
- 一个.py文件就是一个模块,调用不同文件下的内容,就需要使用模块之间的调用方法
- 模块名:文件名去掉后缀.py
- 作用:
- 提高代码的可复用、可维护性
- 解决了命名冲突,不同模块中相同的命名不会冲突
- 语法格式:
# 导入指定模块中的所有成员(包括变量、函数、类等) import 模块名1 [as 别名1], 模块名2 [as 别名2] # 调用方法 模块名.变量 或 别名.变量 模块名.函数 或 别名.函数 模块名.类 或 别名.类
# 导入模块中的指定成员(变量、函数、类) from 模块名 import 成员名1 [as 别名1],成员名2 [as 别名2] # 调用方法:直接使用, 可理解此方法相当于与把其它模块的内容复制一份到该模块中 成员名 别名 from 模块名 import * # 导入模块中所有内容9.1.2 自定义模块
- __name__ 用法
- 当直接运行一个模块时,__name__ 变量的值为 __main__
- 模块被导入其他程序中并运行该程序时,处于模块中的 __name__ 变量的值就变成了模块名
- 自定义模块说明文档
- 模块开头的位置定义一个字符串即可
- 其它调用模块通过__doc__属性可以访问到说明文档
# demon模块
"""
demo 模块中包含以下内容:
name 字符串变量:初始值为:"QWQ"
age 变量:初始值为:18
say() 函数 作用
people类:包含 name 和 age 属性和 say() 方法
"""
name = "QWQ"
age = 18
def say():
print("%s'age is %d"%(name, age))
class people:
def __init__(self, name, age):
self.name = name
self.age = age
def say():
print("%s'age is %d"%(name, age))
# 调用模块
print(demon.__doc__) # 打印出说明描述的字符串
- __import__用法
- 如果模块名不是规范的命名方式(例如以数字开头),直接导入会报错
- __import__("不规则的模块名") 可导入命名不规范的模块
- 向文件导入某个模块时,该模块中名称以下划线(单下划线_或者双下划线__)开头的变量、函数和类无法导入
- 当用 from 模块名 import * 导入模块中内容时,被导入模块可用__all__ 来限制允许调用的内容,在该中的内容才允许被调用
- 语法格式:__all__ = ["变量名","函数名","类名"]
- 包 : 包含多个模块的文件夹,该文件夹有__init__.py文件
- 建立一个文件夹
- 创建__init__.py文件模块,该文件夹就是一个包
- 一个包里面可以嵌套多个包
- 如下示意图:创建一个包含module1和module2两个模块的包
- 包的本质是一个模块,导入包的语法和模块导入类似
- 方法1 : import 包名[.模块名 [as 别名]],调用:包名.模块名.调用内容
- 方法2 : from 包名 import 模块名 [as 别名],调用:模块名.调用内容
- 方法3 : from 包名.模块名 import 成员名 [as 别名],调用:直接使用调用内容
- 添加说明文档
- 在__init__.py 中添加包的说明内容
- 查看说明内容:print(包名.__doc__)
- 导入包中模块
- 从当前包导入指定模块,. 表示包名 : from . import 模块名
- 从 .模块名 导入所有成员到包中 : from .模块名 import *
- 其它模块 import 包名 导入该包后,就可以访问导入包中的模块内容
- dir()函数
- 查看某指定模块包含的全部成员(包括变量、函数和类)
- 语法格式:dir(模块名)
- 返回包含全部变量名字符的列表
- __all__变量
- 语法格式 :模块名.__all__
- 非所有的模块都支持使用 __all__ 变量
- __doc__变量
- 查看说明文档
- 语法格式:查看对象.__doc__
- __file__变量
- 查看模块的源文件路径
- 语法格式:模块名.__file__
| 标准库 | 说明 |
|---|---|
| builtins | 内建函数默认加载 |
| math | 数学库 |
| random | 生成随机数 |
| time | 时间 |
| datetime | 日期和时间 |
| calendar | 日历 |
| hashlib | 加密算法 |
| copy | 拷贝 |
| functools | 常用的工具 |
| os | 操作系统接口 |
| re | 字符串正则匹配 |
| sys | Python自身的运行环境 |
| multiprocessing | 多进程 |
| threading | 多线程 |
| json | 编码和解码 JSON 对象 |
| logging | 记录日志,调试 |
- pip命令:
- 安装 :pip install 模块名
- 卸载 : pip uninstall 模块名
- 查看 : pip list 模块名
感谢阅读,如有错误,敬请见谅!!!



