什么叫模块
模块的英文为Modules。
在Python中一个扩展名为.py的文件就是一个模块。
模块与函数的关系:
一个模块可以包含多个函数、类、语句。
使用模块的优点:
- 方便其他程序和脚本的导入并使用
 - 避免函数名和变量名冲突
 - 提高代码的可维护性
 - 提高代码的可重用性
 
自定义模块
- 创建一个.py的文件,名称尽量不要与Python自带的标准模块名称相同。
 - 
导入模块
# 导入整个指定模块 import 模块名称 [as 别名] # 导入指定模块的指定函数/变量/类 form 模块名称 import 函数/变量/类代码示例:
import math as mt print(mt) # <module 'math' (built-in)> print(mt.pi) # 3.141592653589793 print(mt.pow(2, 3)) # 8.0 print(mt.ceil(9.001)) # 10 print(mt.floor(9.001)) # 9导入指定函数/变量/类
from math import pi print(pi) # 3.141592653589793 
以主程序形式运行
每个模块的定义中都包括一个记录模块名称的变量__name__,程序可以检查该变量,以确定他们在哪个模块中执行。如果一个模块不是被导入到其他程序中执行,那么它可能在解释器的顶级模块中执行。顶级模块的__name__变量的值为__main__。
- 
新建
a.pydef add(a, b): return a + b print(add(10, 20)) - 
新建
b.pyimport a print(a.add(100, 200)) - 
运行
b.py输出结果为:
30
300 - 
修改
a.pydef add(a, b): return a + b if __name__ == '__main__': # 当a.py以主程序运行时才执行 print(add(10, 20)) - 
运行
b.py(此时b.py为主程序)输出结果为:
300 - 
运行
a.py(此时a.py为主程序)输出结果为:
30 
Python中的包
- 包是一个分层次的目录结构,将一组功能相近的模块组织在一个目录下
 - 作用:代码规范、避免模块名称冲突
 - 
包与目录的区别
- 包含
__init__.py文件的目录称为包; - 目录里通常不包括
__init__.py文件; - 编辑器中的图标也有差异。
 
 - 包含
 - 
包的导入
import 包名.模块名[.函数/变量/类] [as 别名]
 
Python中常用的内置模块
| 模块名 | 描述 | 
|---|---|
sys | 
与Python解释器及其环境操作相关的标准库 | 
time | 
提供与时间相关的各种函数的标准库 | 
os | 
提供了访问操作系统访问功能的标准库 | 
calendar | 
提供与日期相关的各种函数的标准库 | 
urllib | 
用于读取来自网上(服务器)的数据标准库 | 
json | 
用于使用Json序列化和反序列化对象 | 
re | 
用于在字符串中执行正则表达式匹配和替换 | 
math | 
提供标准算数运算函数的标准库 | 
decimal | 
用于进行精确控制运算精度、有效位数和四舍五入操作的十进制运算 | 
logging | 
提供了灵活的记录事件、错误、警告和调试信息等日志信息的功能 | 
- 
sys代码示例import sys print(sys.getsizeof(24)) # 28 print(sys.getsizeof(True)) # 28 print(sys.getsizeof(False)) # 24 - 
time代码示例import time print(time.time()) # 1660629231.9002664 ;秒数 print(time.localtime(time.time())) # time.struct_time(tm_year=2022, tm_mon=8, tm_mday=16, tm_hour=13, tm_min=53, tm_sec=51, tm_wday=1, tm_yday=228, tm_isdst=0) - 
urllib代码示例import urllib.request print(urllib.request.urlopen('http://www.baidu.com').read()) 
第三方模块的安装和使用
第三方模块的安装
pip install 模块名
第三方模块的使用
import 模块名
导入schedule模块代码示例
cmd中执行pip install schedule- 创建
demo.py - 
写入以下代码
import time import schedule def job(): print('haha···') schedule.every(3).seconds.do(job) while True: schedule.run_pending() time.sleep(1) - 
运行代码
输出结果:
haha···
haha···
haha··· 
相关文章
暂无评论...

