当前位置: 首页 > news >正文

Python常用模块实用指南

✅  模块详解与补充

1️⃣ sys 模块

🧩 功能:

负责程序与 Python 解释器之间的交互。

🔍 常用函数:
函数描述
sys.getdefaultencoding()获取系统默认编码(通常是 'utf-8'
sys.path获取当前解释器查找模块的路径列表
sys.platform获取操作系统平台名称(如 'win32''linux''darwin'
sys.version获取 Python 解释器版本信息
🧪 示例代码:
import sysprint(sys.getdefaultencoding())   # 输出默认编码格式
print(sys.path)                   # 输出模块搜索路径
print(sys.platform)               # 输出操作系统平台
print(sys.version)                # 输出 Python 版本信息

2️⃣ time 模块

🧩 功能:

用于获取和操作时间相关数据。

⏱️ 时间表示方式:
  1. 时间戳(timestamp):从 1970-01-01 00:00:00 UTC 到现在的秒数。
  2. 时间元组(struct_time):包含年、月、日、时、分、秒等信息的元组。
  3. 格式化字符串(format string):自定义格式的时间字符串。
🔍 常用函数:
函数描述
time.time()获取当前时间戳(浮点数)
time.localtime()获取本地时间的 struct_time 对象
time.asctime()返回当前时间的字符串表示
time.ctime()返回当前时间的字符串表示(等价于 asctime(localtime())
time.strftime(format, t)将 struct_time 转换为指定格式的字符串
time.strptime(string, format)将字符串解析为 struct_time
🧪 示例代码:
import timeprint(time.time())                      # 当前时间戳
print(time.localtime())                 # 当前时间元组
print(time.asctime())                   # 格式化时间字符串
print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))  # 自定义格式
print(time.strptime("2021-08-02", "%Y-%m-%d"))  # 字符串转时间元组

3️⃣ logging 模块

🧩 功能:

记录程序运行时的日志信息,便于调试、分析问题。

🎯 日志级别(从高到低):
级别数值描述
CRITICAL50严重错误,表示程序可能无法继续运行
ERROR40错误信息,但程序仍可运行
WARNING30警告信息,潜在问题
INFO20一般信息,确认程序正常运行
DEBUG10调试信息,用于开发阶段
NOTSET0不设置级别,默认继承父级

默认日志级别是 WARNING,即只显示 WARNING 及以上级别的日志。

🔍 配置参数说明:
参数名含义
filename指定日志输出文件路径
filemode文件打开模式(默认 'a',追加写入)
level设置日志最低记录级别
format定义日志输出格式
🧪 示例代码:
import logging# 配置日志输出
logging.basicConfig(filename='log.log',filemode='a',level=logging.DEBUG,format='%(asctime)s - %(name)s - %(levelname)s - %(message)s'
)logging.debug("这是一个 debug 日志")
logging.info("这是一个 info 日志")
logging.warning("这是一个 warning 日志")
logging.error("这是一个 error 日志")
logging.critical("这是一个 critical 日志")

4️⃣ random 模块

🧩 功能:

生成随机数或随机选择元素。

🔍 常用函数:
函数描述
random.random()生成 [0.0, 1.0) 的随机浮点数
random.uniform(a, b)生成 [a, b) 区间内的随机浮点数
random.randint(a, b)生成 [a, b] 区间内的随机整数
random.randrange(start, stop[, step])从 range(start, stop, step) 中随机选一个整数
random.choice(seq)从序列中随机选择一个元素
random.shuffle(seq)打乱序列顺序(原地修改)
🧪 示例代码:
import random# 1 生成大于0 小于1之间的小数 包左不包右
print(random.random())
# 2 产生指定范围的随机小数 包左不包右
print(random.uniform(1,3))
# 3 产生指定范围的随机整数 包含左右
print(random.randint(1,3))
# 4 产生start-stop范围内的整数,包含左边,不包含右边
print(random.randrange(1,4))
# 5 指定产生的随机的步长,随机选择一个数据
# 比如 2 -5 之间 以步长为3 找随机数那么只能是2满足
print(random.randrange(2,5,3))
# 比如 2 -5 之间 以步长为3 找随机数那么只能是2和4满足
print(random.randrange(2,5,2))

✅ 注意事项总结

  1. logging.basicConfig() 只生效一次,多次调用不会生效。
  2. random.randrange() 如果范围中只有一个值,结果固定。
  3. time.strftime() 和 time.strptime() 的格式字符串必须一致。
  4. sys.path 可以动态添加模块路径,用于导入本地模块。
  5. random.choice() 和 random.shuffle() 适用于处理列表、元组等序列类型。
http://www.xdnf.cn/news/699265.html

相关文章:

  • Python人工智能算法学习 禁忌搜索算法求解旅行商问题(TSP)的研究与实现
  • .net Winfrom 如何将窗口设置为MDI容器
  • QGIS新手教程2:线图层与多边形图层基础操作指南(点线互转、中心点提取与WKT导出)
  • Git:现代软件开发的基石——原理、实践与行业智慧·优雅草卓伊凡
  • go实例化结构体的方式
  • 【C/C++】设计模式之工厂模式:从简单到抽象的演进
  • 《接口和抽象类到底怎么选?设计原则与经典误区解析》
  • com.alibaba.fastjson.JSONException: default constructor not found.
  • 【25-cv-05887、25-cv-05893、25-cv-05897】一张图片连发3案!
  • 【Python实例】读取/处理 Landsat LST数据
  • Three.js引擎基础
  • HIS系统——药库管理模块功能解析
  • 【操作系统】内存管理知识点深度解析
  • 直播框架:基础知识点
  • 【基础题库回复四则】2022-1-26
  • git提交更改
  • 三强联合!Attention+LSTM,结合特征融合,起手二区!
  • 从“被动养老”到“主动健康管理”:平台如何重构代际关系?
  • Linux上给SD卡创建分区
  • 光谱相机在生态修复监测中的应用
  • LeetCode 463. 岛屿的周长 java题解
  • 软件测试之黑盒测试与白盒测试详解
  • python 小工具,获取 github 仓库信息
  • ORDER BY子句在一个 SQL 查询中只能出现一次
  • 全球轨道铺设设备市场发展现状与未来趋势分析
  • HDFS:解锁大数据存储的奥秘
  • 54、C# 委托 (Delegate)
  • Maven 项目中集成数据库文档生成工具
  • leetcode hot100刷题日记——23.数组中的第K个最大元素
  • 磁光电流互感器行业2025数据分析报告