# PYTHON-30DAYS **Repository Path**: lc-studio/python-30-days ## Basic Information - **Project Name**: PYTHON-30DAYS - **Description**: Python 30天编程学习 - 规划表(每日2-3小时),练习代码 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-15 - **Last Updated**: 2025-08-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Python 30天编程学习 - 规划表(每日2-3小时) 以下是为准大一新生设计的**30天编程入门学习规划表**,以 **Python** 作为教学语言(因其简洁易学且应用广泛),聚焦核心编程思维与实践能力培养: --- ### **30天编程学习规划表(每日2-3小时)** | **日期** | **学习主题** | **核心知识点** | **实践任务/考核点** | |-----------|----------------------------|-------------------------------------------------------------------------------|-----------------------------------------------------------------------------------| | **Day 1** | 编程环境搭建与基础语法 | 安装Python、IDE(VSCode/PyCharm);打印语句、变量、基本数据类型(int, float, str) | 输出自我介绍;计算圆的面积;变量类型转换练习 | | **Day 2** | 运算符与输入输出 | 算术/比较/逻辑运算符;input()获取用户输入 | 制作简易计算器(加减乘除);BMI指数计算器 | | **Day 3** | 条件分支控制 | `if-elif-else` 结构;布尔逻辑应用 | 成绩等级转换器(A/B/C/D);闰年判断程序 | | **Day 4** | 循环结构基础(上) | `while` 循环;循环控制(`break`, `continue`) | 猜数字游戏(限定次数);累加1~100的奇数 | | **Day 5** | 循环结构基础(下) | `for` 循环;`range()`函数;嵌套循环初步 | 打印九九乘法表;寻找100以内素数 | | **Day 6** | **阶段小项目1** | 综合应用分支与循环 | **简易ATM机系统**(查询/存款/取款/退出) | | **Day 7** | 字符串深入操作 | 字符串切片、常用方法(`split()`, `join()`, `strip()`);格式化输出(f-string) | 文本分词统计;密码强度验证器(长度/大小写/数字) | | **Day 8** | 列表(List)基础 | 列表创建、增删改查;列表推导式初步 | 学生成绩管理系统(添加/删除/求平均分);列表去重 | | **Day 9** | 元组与字典 | 元组不可变性;字典键值对操作;字典遍历 | 通讯录管理(姓名-电话);单词频率统计器 | | **Day 10**| 函数基础 | 函数定义与调用;参数传递(位置/关键字);返回值 | 封装计算器函数;判断回文数函数 | | **Day 11**| **阶段小项目2** | 模块化编程思想 | **学生信息管理系统**(使用列表+字典存储数据,实现增删查功能) | | **Day 12**| 文件读写操作 | `open()`函数;文件读写模式(r/w/a);CSV文件处理 | 备份文本文件;用户注册信息存储到文件 | | **Day 13**| 异常处理机制 | `try-except-finally`;常见异常类型(ValueError, FileNotFoundError) | 增强计算器的鲁棒性(处理非数字输入);安全文件读取 | | **Day 14**| 模块与标准库 | `import` 用法;常用模块(`math`, `random`, `datetime`) | 生成随机密码;计算日期差值 | | **Day 15**| **周末综合项目** | 多知识点整合 | **简易日记本程序**(记录时间+内容,存储到文件,支持查看历史) | | **Day 16**| 面向对象基础(上) | 类与对象概念;属性定义;`__init__`方法 | 定义`Student`类(姓名/年龄/成绩);创建多个学生对象 | | **Day 17**| 面向对象基础(下) | 类方法;封装与私有属性;继承初步 | 扩展`Student`为`GraduateStudent`(新增导师属性);实现成绩打印方法 | | **Day 18**| 常用数据结构进阶 | 集合(Set)操作;栈/队列概念;collections模块初探 | 利用集合去重;用列表模拟栈实现括号匹配检测 | | **Day 19**| 递归函数入门 | 递归思想;基线条件与递归条件;阶乘/斐波那契数列实现 | 汉诺塔问题可视化步骤;文件夹遍历模拟(伪代码) | | **Day 20**| **阶段小项目3** | OOP+文件+数据结构综合 | **图书馆借阅系统**(图书类/借阅记录/持久化存储) | | **Day 21**| 算法入门(一) | 时间复杂度概念;线性查找与二分查找 | 实现二分查找函数;对比两种查找效率(大列表测试) | | **Day 22**| 算法入门(二) | 排序算法:冒泡排序、选择排序 | 手写排序算法;对对象列表(如学生按成绩排序) | | **Day 23**| 第三方库应用 | `pip`安装;`requests`爬取网页;`matplotlib`绘图基础 | 获取天气API数据并打印;绘制成绩分布折线图 | | **Day 24**| 正则表达式基础 | 元字符(`\d`, `\w`, `.`);匹配与搜索;分组提取 | 验证邮箱/手机号格式;从文本提取所有日期 | | **Day 25**| **周末综合项目** | 多技术栈整合 | **新冠疫情数据可视化**(爬取公开数据集+绘制折线图/柱状图) | | **Day 26**| 项目开发流程 | 需求分析→设计→编码→测试→调试;代码规范(PEP8) | 为现有代码添加注释;使用`pylint`检查代码风格 | | **Day 27**| 版本控制入门(Git) | `git init/add/commit`;远程仓库(GitHub);`.gitignore` | 创建代码仓库;上传项目;协作修改模拟 | | **Day 28**| 调试技巧与单元测试 | 断点调试(IDE工具);`unittest`框架基础 | 调试存在逻辑错误的代码;为函数编写测试用例 | | **Day 29**| **毕业设计提案** | 自主选题与方案设计 | 设计一个**个人待办事项管理系统**(含需求文档+技术栈说明) | | **Day 30**| 知识梳理与拓展方向 | 全栈知识地图;后续学习路径(Web/数据科学/AI) | **综合考核**:重构Day15日记本程序,加入OOP设计+异常处理+单元测试 | --- ### **关键学习原则**: 1. **每日代码量**:≥100行(含实践任务) 2. **考核方式**: - ✅ 每日任务完成度(代码能否运行→逻辑是否正确→是否优雅) - ✅ 项目完整性(功能实现+代码结构+注释规范性) - ✅ 最终综合项目答辩(5分钟演示+问答) 3. **资源推荐**: - 教程:[Python官方文档](https://docs.python.org/zh-cn/3/)、[菜鸟教程](https://www.runoob.com/python3)、[廖雪峰Python教程](https://www.liaoxuefeng.com/wiki/1016959663602400) - 练习平台:[LeetCode初级题库](https://leetcode.com/problemset/all/?difficulty=EASY)、[Codewars](https://www.codewars.com/) 4. **避坑指南**: 7 - ⚠️ 不纠结于语法细节,先跑通再优化 - ⚠️ 拒绝“只看不写”,动手调试是唯一捷径 - ⚠️ 善用AI助手(如Copilot)辅助学习,而非替代思考 > **注**:本规划强调**问题驱动学习**(Project-Based Learning),通过15个微型项目串联知识点,确保学习沉浸感。准大一学生可提前熟悉大学编程课节奏,建立计算思维核心竞争力!