什么叫模块
- 函数与模块的关系
- 一个模块中可以包含N多个函数
- 在Python中一个扩展名为.py的文件就是一个模块
- 使用模块的好处
- 方便其他程序和脚本的导入并使用
- 避免函数名和变量名冲突
- 提高代码的可维护性
- 提高代码的可重用性
自定义模块
- 创建模块
- 新建一个.py文件,名称尽量不要与Python自带的模块名称相同
- 导入模块
- import 模块名称 [as 别名]
- from 模块名称 import 函数/变量/类
import math
print(dir(math)) # 使用dir查看math模块都有哪些方法
print(math.pi) # 3.141592653589793
print(math.pow(2, 3)) # 幂运算,2的2次方
print(math.ceil(9.001)) # 10 向上取整
print(math.floor(9.999)) # 9 向下取整
# 另一种导入方法
from math import pi
print(pi)
导入自定义模块
celc.py
def add(a, b):
return a + b
demo.py
import celc
print(celc.add(1, 2)) # 3
以主程序形式运行
- 在每个模块的定义中都包括一个记录模块名称的变量__name__, 程序可以检查该变量, 以确定他们在哪个模块中执行
add.py
def add(a, b):
return a + b
print(add(2, 3))
demo.py
如果没有以主程序形式运行,会执行add里面的print语句
import celc
print(celc.add(1, 2)) # 5 3
使add.py以主程序形式运行
add.py
def add(a, b):
return a + b
if __name__ == '__main__':
print(add(2, 3))
Python中的包
- 什么叫做包
- 包是一个分层次的目录结构,它将一组功能相近的模块组织在一个目录下
- 作用
- 代码规范
- 避免模块名称冲突
- 包与目录的分别
- 包含__init__.py文件的目录称为包
- 目录里通常不包含__init__.py文件
- 包的导入
- import 包名.模块名
Python中常用的内置模块
- sys : 与Python解释器及其环境操作相关的标准库
- time : 提供与时间相关的各种函数的标准库
- os : 提供了访问操作系统服务功能的标准库
- calendar : 提供与日期相关的各种函数的标准库
- urllib : 用于读取来自网上的数据标准库
- json : 用于使用JSON序列化和反序列化对象
- re : 用于在字符串中执行正则表达式匹配和替换
- math : 提供标准算术运算函数的标准库
- decimal : 用于进行精确控制运算进度, 有效数位和四舍五入操作的十进制运算
- logging : 提供了灵活的记录事件, 错误, 警告和调试信息等日志信息的功能
第三方模块的安装及使用
- 第三方模块的安装
- pip install 模块名
- 第三方模块的使用
- import 模块名
import schedule
import time
def job():
print('哈哈')
# 每三秒执行一次 job,休眠一秒
schedule.every(3).seconds.do(job)
while True:
schedule.run_pending()
time.sleep(1)