Python第五天学习:函数、文件操作与异常处理
📅 2026/7/19 3:53:18
👁️ 次浏览
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解决实际问题是提高编程能力的最佳途径。
那天晚上,我正百无聊赖地刷着社区,一条服务器宣传帖突然跳了出来——“【沉沦之地】新服开荒!百人同屏!超良心MC大型原创RPG服务器!”。说实话,作为一个玩过不下二十个RPG服务器的老玩家,我对这…
📅 2026/7/19 3:52:18
专业开源工具链:深度解析iOS设备降级与系统恢复完整方案 【免费下载链接】Legacy-iOS-Kit An all-in-one tool to restore/downgrade, save SHSH blobs, jailbreak legacy iOS devices, and more 项目地址: https://gitcode.com/gh_mirrors/le/Legacy-iOS-Kit …
📅 2026/7/19 3:52:18
在当前学术写作中,无论是完成本科毕业论文、投稿期刊论文,还是准备开题报告、中期报告、结题报告或文献综述,写作者常面临选题、框架、查重等多重压力。因此,专业的AI论文写作工具应运而生,为这类学术论文创作提供了全…
📅 2026/7/19 3:52:18
1. 项目概述:为什么我们需要一个模块化的量子模拟器?如果你最近在关注量子计算,尤其是想上手写点代码,可能会发现一个挺尴尬的局面:要么是IBM的Qiskit、谷歌的Cirq这类高级框架,它们抽象得很好,…
📅 2026/7/19 6:55:26
C# .NET8 WPF 第三方DLL引用配置(编译不丢失、不自动删除)
一、核心问题根源
VS默认行为:
直接复制DLL到输出目录,清理/重新生成时会清空bin/Debug,看似DLL被删除;如果用「浏览添加引用」 源DLL路径变动、复…
📅 2026/7/19 6:55:26
1. 项目概述:为什么WaitForEndOfFrame是时序控制的“王牌”在Unity开发中,尤其是涉及到画面渲染、UI更新与数据捕捉的复杂场景里,时序问题就像房间里的大象,你无法忽视它。你有没有遇到过这样的场景:你的UI界面需要根据…
📅 2026/7/19 6:55:26
一、综合制造实力TOP源头工厂(全场景:快递柜/存包柜/工具柜/档案柜,有自有厂房、年产10万台)第一梯队(上市大厂,全球供货,综合实力最强)1. 智莱科技(深圳)行业…
📅 2026/7/19 6:55:26
数字化员工福利集采正成为企业提升员工满意度和优化成本结构的重要抓手。传统福利管理往往依赖人工经验和零散数据,难以实现精准投放和效果评估。通过数据分析与优化技术,企业可以构建科学的福利决策体系,从海量数据中挖掘员工真实需求&#…
📅 2026/7/19 6:55:26
1. 项目概述:从“原地转圈”到流畅巡逻的必经之路在Unity游戏开发中,敌人巡逻(Enemy Patrol)是AI行为中最基础、最核心的模块之一。听起来简单,不就是让怪物沿着预设路径来回走吗?但很多开发者,…
📅 2026/7/19 6:54:25
1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…
📅 2026/7/19 0:00:51
1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…
📅 2026/7/19 0:00:51
更多请点击:
https://intelliparadigm.com
第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…
📅 2026/7/19 0:00:51
1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…
📅 2026/7/19 0:00:51
1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…
📅 2026/7/19 0:00:51
更多请点击:
https://intelliparadigm.com
第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…
📅 2026/7/19 0:00:51
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/18 7:01:02
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/18 17:01:33
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/19 5:02:03