Python第五天学习:函数、文件操作与异常处理

📅 2026/7/19 3:53:20
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解决实际问题是提高编程能力的最佳途径。