6个月Python学习计划 Day 14 - 阶段复盘 + 项目练习测试
第二周
Day 8 - Python 函数基础
Day 9 - 函数进阶用法
Day 10 - 模块与标准库入门
Day 11 - 列表推导式、内置函数进阶、模块封装实战
Day 12 - 字符串处理 & 文件路径操作
Day 13 - 文件操作基础
Day 14 - 异常处理基础
🎯 今日目标
- 梳理第2周学习的关键知识点
- 通过小测验快速自检掌握情况
- 实战练习:编写一个简单的“记事本应用”
- 为进入第3周模块(模块与数据结构)打下基础
🧠 第二周知识回顾
模块 | 知识点 |
---|---|
函数 | 定义、调用、返回值、默认参数、*args / **kwargs |
匿名函数 | lambda 表达式,配合 sort() 使用 |
作用域 | 局部变量、全局变量、global |
异常处理 | try-except-finally,处理输入异常 / 零除等问题 |
字符串处理 | split()、join()、strip()、f-string 格式化等 |
文件操作 | open()、读写模式、with open()、追加、判断文件存在 |
🧪 今日练习任务
1. 小测验(快速测试理解)
Q1:以下函数定义中,哪个参数允许不定数量传入?
def test(*args):print(args)
✅ 答案:*args 表示位置参数可变
Q2:如何让函数内部修改全局变量 x = 10?
x = 10
def update():global xx += 1
✅ global x 用于引用并修改全局变量
Q3:请写出 try-except 用于防止用户输入非法整数的例子:
try:num = int(input("请输入整数:"))
except ValueError:print("输入错误,请输入一个整数!")
2. 综合项目练习:简单记事本应用(基于文件操作)
模拟一个日常记录工具,支持记录多条文字、保存到文件、显示内容。
def write_note():with open("notes.txt", 'a', encoding='utf-8') as f:while True:note = input("请输入内容(输入 q 退出):")if note.lower() == 'q':breakf.write(note + '\n')print("✅ 已保存所有笔记。")def read_notes():print("\n📒 你的全部笔记如下:")try:with open("notes.txt", 'r', encoding='utf-8') as f:for line in f:print("-", line.strip())except FileNotFoundError:print("📂 当前还没有笔记。")def main():while True:print("\n==== 简易记事本 ====")print("1. 写笔记")print("2. 查看笔记")print("3. 退出")choice = input("请选择操作:")if choice == '1':write_note()elif choice == '2':read_notes()elif choice == '3':print("👋 退出记事本")breakelse:print("❌ 无效操作,请重试")main()
输出结果:
==== 简易记事本 ====
1. 写笔记
2. 查看笔记
3. 退出
请选择操作:1
请输入内容(输入 q 退出):第一 条数据
请输入内容(输入 q 退出):第二条数据
请输入内容(输入 q 退出):q
✅ 已保存所有笔记。==== 简易记事本 ====
1. 写笔记
2. 查看笔记
3. 退出
请选择操作:2 📒 你的全部笔记如下:
- 第一条数据
- 第二条数据==== 简易记事本 ====
1. 写笔记
2. 查看笔记
3. 退出
请选择操作:3
👋 退出记事本
🧾 今日总结
收获 | 说明 |
---|---|
复习了函数、作用域等基础结构 | 熟练掌握函数参数、异常处理结构 |
掌握了文件读写核心方法 | 能灵活运用 open() 与 with open() |
项目实战打通知识点 | 模拟记事本,熟悉流程控制与文件持久化 |
题外话
以终身学习为目标,先了解自己,再优化自己💪