模块
模块英文为 Modules
函数与模块的关系
- 一个模块中可以包含N多个函数
- 在 Python中一个扩展名为py的文件就是一个模块
使用模块的好处
- 方便其它程序和脚本的导入并使用
- 避免函数名和变量名冲突
- 提高代码的可维护性
- 提高代码的可重用性
自定义模块
创建模块
新建一个.py文件,名称尽量不要与 Python自带的标准模块名称相同
导入模块
import 模块名称 [as别名] #导入这个模块当中的所有
from 模块名称 import 函数/变量/类 #导入这个模块当中指定内容
导入自定义模块
自定义模块calc
def add(a,b):
return a+b
def div(a,b):
return a/b
在另一个模块中导入
import calc
print(calc.add(10,20))
from calc import add
print(add(10,20))
以主程序形式运行
在每个模块的定义中都包括一个记录模块名称的变量__name__,程序可 以检査该变量,以确定他们在哪个模块中执行。如果一个模块不是被导 入到其它程序中执行,那么它可能在解释器的顶级模块中执行。顶级模块的__name__变量的值为__main__
if __name__ = '__main__':
pass
def add(a,b):
return a+b
if __name__=='__main__':
print(add(10,20)) #只有当calc是主程序(点击运行)时,才会执行运算
import calc
print(calc.add(100,200))
Python中的包
包是一个分层次的目录结构,它将一组功能相近的模块组织在一个目录下
作用
- 代码规范
- 避免模块名称冲突
包与目录的区别
- 包含__init__.py文件的目录称为包
- 目录通常不包含__init__.py文件
包的导入
import 包名.模块名 (as别名)
创建包
导入带有包的模块时注意事项
- 使用import方式进行导入时,只能跟包名或模块名
import pageage
import calc
- 使用from...import方式导入时,可以导入包,模块,函数,变量
from pageage import module_A
from pageage.module_A import a
常用的内置模块
模块名 | 描述 |
---|---|
sys | 与Python解释器及其环境操作相关的标准库 |
time | 提供与时间相关的各种函数的标准库 |
os | 提供了访问操作系统服务功能的标准库 |
calendar | 提供与日期相关的各种函数的标准库 |
urllib | 用于读取来自网上(服务器)的数据标准库 |
json | 用于使用JSON序列化和反序列化对象 |
re | 用于在字符串中执行正则表达式匹配和替换 |
math | 提供标准算术运算函数的标准库 |
decimal | 用于进行精确控制运算精度、有效数位和四舍五入操作的十进制运算 |
logging | 提供了灵活的记录事件、错误、警告和调试信息等目志信息的功能 |
第三方模块的安装及使用
第三方模块的安装
pip install 模块名
第三方模块的使用
import 模块名
import schedule
import time
def job():
print('哈哈')
schedule.every(3).seconds.do(job)
while True:
schedule.run_pending()
time.sleep(1)