【python零基础教程第7讲】常用标准库入门
Python 常用标准库入门从随机数到日期处理再到 JSON 与第三方库Python 之所以被称为“内置电池”的语言很大程度上归功于其丰富且强大的标准库。对于初学者来说掌握几个最常用的标准库就能解决日常开发中 80% 的常见需求。本文将从random、time、datetime、json四个核心模块入手并补充几个高频使用的第三方库带你快速上手。一、random —— 随机数生成器random模块提供了生成伪随机数的各种函数适用于模拟、游戏、抽样等场景。1. 基础随机数importrandom# 生成 [0.0, 1.0) 之间的浮点数print(random.random())# 0.374540...# 生成 [a, b] 之间的整数print(random.randint(1,10))# 7# 生成 [a, b) 之间的浮点数print(random.uniform(1.5,5.5))# 3.14159...2. 序列操作items[苹果,香蕉,橘子,西瓜]# 随机选择一个元素print(random.choice(items))# 橘子# 随机选择 k 个元素不重复print(random.sample(items,2))# [西瓜, 苹果]# 打乱列表顺序原地修改random.shuffle(items)print(items)# [香蕉, 西瓜, 苹果, 橘子]3. 设置种子可复现随机random.seed(42)print(random.randint(1,100))# 82random.seed(42)# 再次设置相同种子print(random.randint(1,100))# 82结果相同二、time —— 时间戳与休眠time模块主要处理时间戳Unix 时间和程序休眠。1. 获取当前时间戳importtime# 当前时间戳秒浮点数print(time.time())# 1751760000.123456# 将时间戳转换为可读字符串本地时间print(time.ctime())# Mon Jul 6 10:30:00 20262. 程序休眠print(开始)time.sleep(2)# 暂停 2 秒print(2 秒后继续)3. 结构化时间与格式化# 获取结构化时间本地时间local_timetime.localtime()print(local_time.tm_year)# 2026print(local_time.tm_mon)# 7# 将结构化时间格式化为字符串formattedtime.strftime(%Y-%m-%d %H:%M:%S,local_time)print(formatted)# 2026-07-06 10:30:00# 将字符串解析为结构化时间parsedtime.strptime(2026-07-06,%Y-%m-%d)print(parsed.tm_wday)# 0星期一0 表示周一三、datetime —— 更友好的日期时间处理datetime模块提供了面向对象的日期时间类比time更直观、功能更强大。1. 获取当前日期时间fromdatetimeimportdatetime,date,time,timedelta nowdatetime.now()print(now)# 2026-07-06 10:30:00.123456todaydate.today()print(today)# 2026-07-062. 创建指定日期时间dtdatetime(2026,7,6,10,30,0)print(dt)# 2026-07-06 10:30:00ddate(2026,2,17)# 2026 年春节print(d)# 2026-02-173. 日期时间运算# 加减时间间隔one_weektimedelta(weeks1)next_weeknowone_weekprint(next_week)# 2026-07-13 10:30:00.123456# 计算两个日期之差diffnext_week-nowprint(diff.days)# 74. 格式化与解析# 格式化输出print(now.strftime(%A, %B %d, %Y))# Monday, July 06, 2026# 解析字符串parseddatetime.strptime(2026-07-06 10:30,%Y-%m-%d %H:%M)print(parsed)# 2026-07-06 10:30:005. 时区处理Python 3.9 推荐使用 zoneinfofromzoneinfoimportZoneInfo utc_nowdatetime.now(ZoneInfo(UTC))beijingutc_now.astimezone(ZoneInfo(Asia/Shanghai))print(beijing)# 2026-07-06 18:30:0008:00四、json —— 数据序列化与反序列化json模块用于在 Python 对象和 JSON 字符串之间转换是 API 交互、配置文件读取的必备工具。1. 序列化Python → JSONimportjson data{name:小艺,age:3,skills:[对话,写作,编程],is_active:True,birthday:None}# 转换为 JSON 字符串json_strjson.dumps(data,ensure_asciiFalse,indent2)print(json_str)# 输出# {# name: 小艺,# age: 3,# skills: [对话, 写作, 编程],# is_active: true,# birthday: null# }2. 反序列化JSON → Pythonjson_str{name: 小艺, age: 3}parsedjson.loads(json_str)print(parsed[name])# 小艺print(type(parsed))# class dict3. 读写文件# 写入 JSON 文件withopen(data.json,w,encodingutf-8)asf:json.dump(data,f,ensure_asciiFalse,indent2)# 读取 JSON 文件withopen(data.json,r,encodingutf-8)asf:loadedjson.load(f)4. 处理特殊类型如 datetimefromdatetimeimportdatetimedefdatetime_serializer(obj):ifisinstance(obj,datetime):returnobj.isoformat()raiseTypeError(fType{type(obj)}not serializable)nowdatetime.now()json_strjson.dumps({time:now},defaultdatetime_serializer)print(json_str)# {time: 2026-07-06T10:30:00.123456}五、常用第三方库推荐标准库虽强但有些场景需要更专业的工具。以下是几个高频使用的第三方库1.requests—— HTTP 请求importrequests responserequests.get(https://api.github.com)print(response.status_code)# 200print(response.json())# 自动解析 JSON2.pandas—— 数据分析importpandasaspd dfpd.DataFrame({姓名:[张三,李四],年龄:[25,30]})print(df.describe())3.numpy—— 数值计算importnumpyasnp arrnp.array([1,2,3,4])print(arr.mean())# 2.54.matplotlib—— 数据可视化importmatplotlib.pyplotasplt plt.plot([1,2,3],[4,5,6])plt.show()5.beautifulsoup4lxml—— 网页解析frombs4importBeautifulSoup htmlbodyh1标题soupBeautifulSoup(html,lxml)print(soup.h1.text)# 标题6.tqdm—— 进度条fromtqdmimporttqdmimporttimeforiintqdm(range(100)):time.sleep(0.01)六、总结模块/库核心用途入门要点random生成随机数、随机选择randint、choice、shuffle、seedtime时间戳、休眠、格式化time()、sleep()、strftimedatetime日期时间运算、时区datetime、timedelta、strptimejson数据序列化/反序列化dumps、loads、dump、loadrequestsHTTP 请求get、post、json()pandas表格数据处理DataFrame、read_csvnumpy数组与数学运算array、mean、reshapematplotlib绘图plot、showbeautifulsoup4HTML/XML 解析BeautifulSoup、find_alltqdm进度条显示tqdm包裹可迭代对象掌握这些工具你已经可以应对绝大多数 Python 日常开发任务。

相关新闻

MAX9744与PIC32MZ的高效音频功率增强方案解析

MAX9744与PIC32MZ的高效音频功率增强方案解析

1. 项目概述:基于MAX9744与PIC32MZ的音频功率增强方案在DIY音频设备或嵌入式音频系统开发中,如何在小体积、低功耗条件下实现高保真音频输出一直是硬件设计者的核心挑战。MAX9744作为一款20W立体声D类音频功率放大器芯片,配合PIC32MZ1024EFF1…

2026/7/7 14:16:52 阅读更多 →
企业AI规模化落地面临的接入无序、成本失控、安全盲区交织

企业AI规模化落地面临的接入无序、成本失控、安全盲区交织

随着AI深度融入企业业务流程,知识库、Copilot、智能客服等AI应用遍地开花,不同部门对模型能力的诉求也变得五花八门:研发部要用AI辅助生成代码、进行漏洞调试,强烈要求接入满血大模型;客服部需要处理大量客户咨询&…

2026/7/7 14:14:51 阅读更多 →
【爱马仕智能体】Hermes 自动化工具落地教程,轻量化安装包适配普通家用电脑(含安装包)

【爱马仕智能体】Hermes 自动化工具落地教程,轻量化安装包适配普通家用电脑(含安装包)

Windows 搭建 Hermes 环境步骤繁琐?轻量化整合包快速完成本地运行 不少使用者想要体验 Hermes 智能代理工具,但手动部署环节总会被环境配置问题卡住。 单独下载各类依赖组件、调试系统运行环境、修正文件路径异常,同时还会遇到命令执行失败、…

2026/7/7 14:12:51 阅读更多 →

最新新闻

终极指南:如何使用KKManager轻松管理Illusion游戏模组

终极指南:如何使用KKManager轻松管理Illusion游戏模组

终极指南:如何使用KKManager轻松管理Illusion游戏模组 【免费下载链接】KKManager Mod, plugin and card manager for games by Illusion that use BepInEx 项目地址: https://gitcode.com/gh_mirrors/kk/KKManager KKManager是一款专为Illusion公司旗下使用…

2026/7/7 15:21:17 阅读更多 →
定时器中断跨文件使用变量

定时器中断跨文件使用变量

1.初始化定时器1,定时器结构图2.步骤1.RCC开启时钟2.选择时基单元的时钟源(定时中断选择内部时钟源)3.配置时基单元(包括预分频器,自动重装器,计数模式等(用结构体配置))…

2026/7/7 15:21:17 阅读更多 →
大数据开发工具-Transwarp Data Studio

大数据开发工具-Transwarp Data Studio

大数据开发工具-Transwarp Data StudioTranswarp Data Studio ( 简称TDS ) 是星环科技自研的一站式大数据开发工具,提供数据集成、存储、治理、服务和共享等数据处理全生命周期的企业级管理能力,结合星环科技大数据基础平台 Transwarp Data Hub&#xff…

2026/7/7 15:19:17 阅读更多 →
基于K4UJE3D4AA-KFCL03V的12GB汽车电子内存设计:2颗实现高密度低功耗方案

基于K4UJE3D4AA-KFCL03V的12GB汽车电子内存设计:2颗实现高密度低功耗方案

K4UJE3D4AA-KFCL03V:三星48Gb LPDDR4X车规级高密度内存颗粒深度解析在车载信息娱乐系统、高级驾驶辅助系统(ADAS)以及各类对容量、功耗和可靠性有综合要求的嵌入式应用中,内存颗粒的选型直接影响系统的数据处理能力和长期稳定性。…

2026/7/7 15:17:17 阅读更多 →
PCF8591与PIC32MX695F512L的I2C通信与数据采集实现

PCF8591与PIC32MX695F512L的I2C通信与数据采集实现

1. PCF8591与PIC32MX695F512L的硬件协同设计 PCF8591作为一款经典的8位ADC/DAC转换芯片,与PIC32MX695F512L这款32位高性能微控制器的组合,为开发者提供了灵活可靠的混合信号处理方案。这套组合特别适合需要同时处理多路模拟信号输入输出的场景&#xff0…

2026/7/7 15:17:16 阅读更多 →
嵌入式系统2x2键盘矩阵优化设计与实现

嵌入式系统2x2键盘矩阵优化设计与实现

1. 项目背景与核心价值 在嵌入式系统开发中,输入设备的设计往往面临一个经典矛盾:功能需求日益复杂,但硬件资源却极为有限。最近我在开发一款工业级手持设备时,就遇到了这样的挑战——需要在仅有的4个GPIO引脚上实现16种功能的可靠…

2026/7/7 15:13:16 阅读更多 →

日新闻

鸿蒙新特性:图片画廊与轮播导航——构建沉浸式图片浏览体验

鸿蒙新特性:图片画廊与轮播导航——构建沉浸式图片浏览体验

图片浏览是移动应用中最高频的场景之一。从社交应用的照片流到电商平台的商品图集,从旅游应用的景点相册到摄影作品展示——用户对图片浏览的体验要求不断提高:流畅的切换动画、直观的缩略图导航、便捷的收藏操作、自动播放模式。HarmonyOS NEXT ArkUI 虽…

2026/7/7 0:05:16 阅读更多 →
24V DC-DC降压芯片PW2312B/PW2815,SOT23-6到SOP8-EP方案对比

24V DC-DC降压芯片PW2312B/PW2815,SOT23-6到SOP8-EP方案对比

24V稳压芯片完整选型指南 PW8600 PW75XX PW2815 PW2312B LDODC/DC全方案 一、24V稳压方案概述 24V直流电源在工业自动化、门禁系统、电梯控制、汽车电子、LED驱动、监控设备等场景中应用极广,是最常见的中压直流母线电压。要将24V母线稳定降压至下游MCU、传感器…

2026/7/7 0:05:16 阅读更多 →
RAG+知识图谱混合检索与Graph RAG核心对比

RAG+知识图谱混合检索与Graph RAG核心对比

做企业RAG落地的团队,往往容易卡在一容易踩坑的选型难题: 当需求单纯靠向量RAG搞不定、单纯靠知识图谱也搞不定,必须同时依赖「文本语义理解 实体关系推理」时,到底是做「向量图谱混合检索」就够了,还是必须上「Grap…

2026/7/7 0:07:19 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/7 14:24:45 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/7 12:34:47 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/6 6:52:56 阅读更多 →

月新闻