当前位置: 首页 > java >正文

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()
项目实战打通知识点模拟记事本,熟悉流程控制与文件持久化

题外话

以终身学习为目标,先了解自己,再优化自己💪
在这里插入图片描述

http://www.xdnf.cn/news/12069.html

相关文章:

  • Qwen2.5-VL - 多模态旋转位置嵌入(Multimodal Rotary Position Embedding, MRoPE)
  • 计算机操作系统知识点总结②
  • 天机学堂(我的课表)
  • winform下DevExpress中datagridview中数据批量保存不上
  • 【python深度学习】Day 44 预训练模型
  • 安装 Nginx
  • 一则systemctl service诡异问题
  • GAN模式崩塌难题:成因分析与多维度解决方案
  • stripe支付测试,ngrok无法使用?免费vscode端口转发,轻松简单!
  • 第八部分:第四节 - 列表渲染与条件渲染:根据订单显示不同内容
  • [Java 基础]类,面向对象的蓝图
  • Windows 下载、安装、配置和使用Node
  • BUU MISC(持续更新)
  • Java 中实现线程的创建和启动
  • [ACM MM 2024]Lite-Mind:Towards Efficient and Robust Brain Representation
  • MySQL对数据库用户的操作
  • VS Code开发项目,配置ESlint自动修复脚本
  • 高防CDN有用吗?它的防护效果怎么样?
  • 1. 数据库基础
  • 卫星的“太空陀螺”:反作用轮如何精准控制姿态?
  • 蓝桥云课ROS一键配置teb教程更新-250604
  • 嵌入式就业难不难?
  • 【趣味Html】第11课:动态闪烁发光粒子五角星
  • 力扣刷题Day 70:在排序数组中查找元素的第一个和最后一个位置(34)
  • Visual Studio 2022 在 Windows 11 添加资源时崩溃问题分析与解决方案
  • [Linux] Linux GPIO应用编程深度解析与实践指南(代码示例)
  • JAVA实战开源项目:医院药品管理系统 (Vue+SpringBoot) 附源码
  • 数组1 day7
  • zabbix 6 监控 docker 容器
  • Linux 库文件的查看和管理