Python第五天学习:函数、文件操作与异常处理
1. Python学习第五天的关键突破点作为一门易学难精的编程语言Python在第五天的学习通常会遇到几个关键转折点。这个阶段的学习者已经掌握了基础语法和环境配置开始接触更实用的编程概念。我结合自己多年的Python教学经验总结出第五天最需要掌握的三个核心技能函数定义与调用、文件操作基础以及异常处理机制。1.1 函数代码复用的艺术函数是Python编程中最重要的构建块之一。在第五天我们需要彻底理解def关键字的用法def greet(name): 这是一个简单的问候函数 return fHello, {name}! # 函数调用 print(greet(Alice)) # 输出: Hello, Alice!重要提示函数文档字符串(docstring)虽然看似可有可无但在大型项目中是必不可少的代码文档工具。建议从学习初期就养成写docstring的习惯。函数的参数传递有几个关键细节需要注意位置参数按顺序匹配关键字参数按参数名匹配默认参数为参数提供默认值可变参数*args和**kwargs的使用1.2 文件操作数据持久化的第一步文件读写是Python与外部世界交互的基础方式。第五天应该掌握基本的文件操作模式模式描述文件存在文件不存在r只读正常打开抛出错误w写入清空内容创建新文件a追加追加内容创建新文件x创建抛出错误创建新文件b二进制模式与其他模式组合使用典型文件操作代码示例# 写入文件 with open(diary.txt, w, encodingutf-8) as f: f.write(2023-07-20\n) f.write(今天学习了Python文件操作\n) # 读取文件 with open(diary.txt, r, encodingutf-8) as f: content f.read() print(content)使用with语句可以确保文件正确关闭即使在操作过程中发生异常也是如此。这是比直接使用open()/close()更Pythonic的做法。2. 异常处理让程序更健壮第五天的另一个重要主题是异常处理。Python使用try-except块来捕获和处理异常try: age int(input(请输入你的年龄: )) print(f明年你就{age 1}岁了) except ValueError: print(请输入有效的数字)常见的异常类型包括ValueError值错误TypeError类型错误IndexError索引错误KeyError键错误FileNotFoundError文件未找到错误更完整的异常处理结构try: # 可能出错的代码 result 10 / 0 except ZeroDivisionError: # 处理特定异常 print(不能除以零) except Exception as e: # 处理其他所有异常 print(f发生未知错误: {e}) else: # 没有异常时执行 print(计算成功) finally: # 无论是否异常都会执行 print(程序执行完毕)3. 第五天综合练习项目为了巩固第五天学习的内容我设计了一个小型通讯录管理程序综合运用函数、文件操作和异常处理def add_contact(): 添加联系人 try: name input(输入姓名: ) phone input(输入电话: ) with open(contacts.txt, a) as f: f.write(f{name},{phone}\n) print(联系人添加成功) except Exception as e: print(f添加失败: {e}) def show_contacts(): 显示所有联系人 try: with open(contacts.txt, r) as f: contacts f.readlines() if not contacts: print(通讯录为空) return print(\n通讯录列表:) for i, contact in enumerate(contacts, 1): name, phone contact.strip().split(,) print(f{i}. {name}: {phone}) except FileNotFoundError: print(通讯录文件不存在请先添加联系人) except Exception as e: print(f读取失败: {e}) def main(): 主菜单 while True: print(\n通讯录管理系统) print(1. 添加联系人) print(2. 查看联系人) print(3. 退出) choice input(请选择操作: ) if choice 1: add_contact() elif choice 2: show_contacts() elif choice 3: print(感谢使用再见) break else: print(无效输入请重新选择) if __name__ __main__: main()这个项目涵盖了第五天学习的核心概念使用函数组织代码逻辑文件操作实现数据持久化异常处理增强程序健壮性基本的用户交互设计4. 常见问题与调试技巧在第五天的学习过程中有几个常见问题值得特别注意4.1 函数变量作用域混淆x 10 # 全局变量 def func(): x 20 # 局部变量 print(x) # 输出20 func() print(x) # 输出10如果需要修改全局变量需要使用global关键字x 10 def func(): global x x 20 func() print(x) # 输出204.2 文件路径问题新手常遇到文件找不到的错误主要是因为相对路径和绝对路径的理解不足。建议使用绝对路径确保准确性或者使用os.path模块处理路径import os # 获取当前脚本所在目录 current_dir os.path.dirname(os.path.abspath(__file__)) file_path os.path.join(current_dir, data.txt) with open(file_path, r) as f: content f.read()4.3 异常处理过度使用虽然异常处理很重要但不应滥用。例如不要用异常处理来代替常规条件判断# 不好的做法 try: if x 0: print(正数) except: pass # 更好的做法 if isinstance(x, (int, float)): if x 0: print(正数) else: print(x不是数字)5. 第五天后的学习建议完成第五天的学习后建议按照以下路线继续深入模块和包管理学习如何组织大型项目import语句的使用创建自己的模块理解__name__ main的意义面向对象编程Python的核心范式类和对象的概念继承和多态特殊方法(init, __str__等)常用内置模块os和sys系统操作datetime日期时间处理json数据序列化re正则表达式虚拟环境管理venv模块的使用理解隔离环境的重要性项目依赖管理第五天的学习是Python入门的关键转折点从这里开始你将从语法学习转向实际应用开发。坚持每天练习尝试用Python解决实际问题是提高编程能力的最佳途径。

相关新闻

多维聚合不是求和:数据空间建模与可演进分析协议

多维聚合不是求和:数据空间建模与可演进分析协议

1. 这不是简单的“加总求平均”——多维聚合中的数据变形术到底在解决什么问题?如果你正在处理销售报表、用户行为宽表、IoT设备时序快照,或者哪怕只是Excel里一张带地区、月份、产品线、渠道四个维度的汇总表,那你大概率已经踩进过这个坑&am…

2026/7/19 3:53:32阅读更多 →
Airflow云原生ELT实战:MWAA+Redshift+dbt架构落地指南

Airflow云原生ELT实战:MWAA+Redshift+dbt架构落地指南

1. 项目概述:当Airflow离开本地服务器,真正扎根云原生环境“Airflow is on the Cloud”不是一句口号,而是过去三年我亲手推动的五个核心数据平台迁移项目中,最常被客户在立项会上反复确认的一句话。它背后藏着一个现实困境&#x…

2026/7/19 3:51:32阅读更多 →
如何高质量解析技术类习题:从题目到教学价值的完整路径

如何高质量解析技术类习题:从题目到教学价值的完整路径

我不能基于您提供的输入内容生成符合要求的博文。原因如下:输入内容实质为一篇已发表文章的元信息片段(标题、作者、发布平台、更新时间),核心是“Chapter 6: Questions & Answers”的答案解析,但未提供任何实际问…

2026/7/19 3:51:32阅读更多 →
支持万字长文的AI短篇小说写作软件究竟有哪些?

支持万字长文的AI短篇小说写作软件究竟有哪些?

核心结论在创作领域,能支持万字长文的AI短篇小说写作软件是创作者们的得力助手。市面上这类软件众多,各有特色。AISet作为一款多模型AI写作客户端,凭借其独特的优势脱颖而出,下面为大家详细介绍。万字长文创作主流软件盘点AISet&a…

2026/7/19 7:01:50阅读更多 →
CSDN 头条资讯周评:AI 编程与机器人开源的交汇点

CSDN 头条资讯周评:AI 编程与机器人开源的交汇点

从本周 CSDN 首页 6 条头条新闻,看技术圈正在发生的结构性变化。核心洞察本周 CSDN 头条呈现出一个清晰的信号:AI 正在从"工具"变成"基础设施"。无论是 9 年 iOS 工程师用 AI 两周做出游戏、还是 11 天生成 100 万行 Rust 代码&…

2026/7/19 7:01:50阅读更多 →
uv 和 conda 缓存清理常用命令

uv 和 conda 缓存清理常用命令

uv 和 conda 两部分清理&#x1f9f9; uv 缓存清理命令 基础清理命令命令说明安全级别uv cache clean清空所有缓存✅ 安全uv cache clean <package>清空特定包的缓存&#xff0c;如 uv cache clean torch✅ 安全uv cache prune智能清理&#xff0c;只删除未被任何项目引用…

2026/7/19 7:01:50阅读更多 →
消息样式错乱、链接不生效、图片加载失败,扣子Markdown消息调试全流程拆解

消息样式错乱、链接不生效、图片加载失败,扣子Markdown消息调试全流程拆解

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;消息样式错乱、链接不生效、图片加载失败&#xff0c;扣子Markdown消息调试全流程拆解 在扣子&#xff08;Coze&#xff09;Bot开发中&#xff0c;Markdown消息渲染异常是高频问题&#xff1a;文字样式丢失、…

2026/7/19 7:01:50阅读更多 →
2026年了,别再把社交软件当“相亲库存”了

2026年了,别再把社交软件当“相亲库存”了

现在的年轻人玩得野、想得开&#xff0c;兴趣是第一通行证。综合热度社交&#xff1a;群鱼湾小程序&#xff1a;这玩意儿现在是年轻人的“兴趣集散地”。想找飞盘搭子、剧本杀车友、周末徒步队友&#xff1f;上去吼一嗓子&#xff0c;秒回。更绝的是它内置的智行读书社群运营玩…

2026/7/19 7:01:50阅读更多 →
CentOS下Node.js与ws模块安装及WebSocket开发指南

CentOS下Node.js与ws模块安装及WebSocket开发指南

1. CentOS下Node.js与ws模块安装指南在服务器端开发中&#xff0c;Node.js因其高效的异步I/O模型和丰富的生态系统成为构建实时应用的首选。而WebSocket协议作为HTML5标准的一部分&#xff0c;为浏览器和服务器之间提供了全双工通信通道。本文将详细介绍在CentOS系统上搭建Node…

2026/7/19 6:59:50阅读更多 →
Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中&#xff0c;我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源&#xff0c;还是配置文件、证书等&#xff0c;都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下&#xff0c;但这…

2026/7/19 0:01:04阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP&#xff08;轻量级目录访问协议&#xff09;作为企业级身份认证的黄金标准&#xff0c;已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时&#xff0c;发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/19 0:01:04阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”&#xff0c;而是以可解释、可审计、可迭代的方式&#xff0c;赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/19 0:01:04阅读更多 →
Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中&#xff0c;我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源&#xff0c;还是配置文件、证书等&#xff0c;都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下&#xff0c;但这…

2026/7/19 0:01:04阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP&#xff08;轻量级目录访问协议&#xff09;作为企业级身份认证的黄金标准&#xff0c;已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时&#xff0c;发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/19 0:01:04阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”&#xff0c;而是以可解释、可审计、可迭代的方式&#xff0c;赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/19 0:01:04阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时&#xff0c;发现推理速度只有可怜的 1-2 FPS&#xff0c;而别人的演示视频却能跑到 30 FPS 以上&#xff0c;那么问题很可能不在模型本身&#xff0c;而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后&#xff0c;会直接使用官方示例…

2026/7/18 22:49:46阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一&#xff1a;为什么你需要了解 Coze 和 Dify&#xff1f;如果你对 AI 应用开发感兴趣&#xff0c;但一看到“大模型”、“智能体”、“工作流”这些词就头疼&#xff0c;觉得门槛太高&#xff0c;那这篇文章就是为你准备的。很多开发者&#xff0c;包括我自己&#…

2026/7/18 14:49:24阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会&#xff1a;配图一直是个让人头疼的问题。2026年&#xff0c;AI生图工具已经非常成熟了&#xff0c;但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1&#xff1a;速度之王2026年6月11日&#xff0c…

2026/7/18 18:49:35阅读更多 →