Python零基础到基础能力 · 系统学习计划
适用人群:完全零基础,目标是在2-3个月内具备Python基础编程能力(能独立写脚本处理文件、数据、自动化任务)。
核心理念:学练结合,项目驱动——每天动手敲代码的时间 ≥ 看视频/看书时间的2倍。
每日建议投入:1.5~2小时(工作日1小时,周末3~4小时)。
📌 整体进度总览
| 阶段 | 周次 | 主题 | 产出/里程碑 |
|---|---|---|---|
| 基建期 | 第1周 | 环境搭建 + 基础语法(变量、输入输出、条件判断) | 完成 BMI计算器 交互程序 |
| 核心期 | 第2周 | 循环 + 列表/元组 | 完成 猜数字游戏 |
| 第3周 | 字典 + 函数封装 | 完成 学生成绩管理系统(命令行版) | |
| 工具期 | 第4周 | 文件读写 + os路径操作 | 完成 文件批量处理脚本 |
| 第5周 | 异常处理 + 调试思维 | 改造前几周脚本,全部加入异常捕获 | |
| 实战期 | 第6周 | 综合项目一 | 完成 日志分析工具(核心里程碑) |
| 第7周 | 第三方库入门(requests + pandas) | 完成 Excel数据清洗脚本 | |
| 第8周 | 综合项目二 + 总复习 | 完成 终极自测项目,查漏补缺 |
📅 每周详细学习计划
🔹 第1周:热身与基础认知
目标:跑通第一个程序,理解变量、输入输出和逻辑判断。
| 天数 | 学习内容 | 实操任务 |
|---|---|---|
| Day 1 | 安装Python 3.x + VSCode,配置中文插件;学会新建.py文件;print()输出 | 输出 "Hello, Python!",再输出3行个人信息 |
| Day 2 | 变量与数据类型(int, str, float, bool);type()查看类型;input()接收用户输入 | 写程序:输入姓名和年龄,输出 "你好,XX,你明年XX岁了" |
| Day 3 | 数据类型转换(int() / str());字符串拼接与f-string格式化 | 写程序:输入两个数字,输出它们的和、差、积、商 |
| Day 4 | 比较运算符(>, <, ==, !=)和逻辑运算符(and, or, not) | 在交互式环境中逐个测试比较表达式的结果 |
| Day 5 | if / elif / else 条件判断 | 写程序:输入一个数字,判断它是正数、负数还是零 |
| Day 6 | 复习+综合练习 | 把前5天所有代码重新敲一遍,不要复制粘贴 |
| Day 7 | 周项目:BMI计算器 | 输入身高(m)和体重(kg),计算BMI并输出“偏瘦/正常/偏胖/肥胖” |
🔹 第2周:循环与列表
目标:让程序能重复执行任务,并能批量存储数据。
| 天数 | 学习内容 | 实操任务 |
|---|---|---|
| Day 1 | while循环基础(条件循环) | 写程序:从1打印到10(用while) |
| Day 2 | for循环 + range()函数 | 写程序:计算1~100所有整数的和 |
| Day 3 | break和continue的使用;循环嵌套 | 写程序:打印九九乘法表 |
| Day 4 | 列表(list)的创建、索引、切片 | 创建你的购物清单列表,增删改查各操作练习 |
| Day 5 | 列表的常用方法(append, pop, remove, insert, sort) | 写程序:管理一个待办事项列表,支持添加和删除 |
| Day 6 | 遍历列表(for item in list:) | 写程序:输入5个数字存入列表,输出最大值和最小值 |
| Day 7 | 周项目:猜数字游戏 | 系统随机生成1~100的数字,用户输入猜,提示大了/小了,猜中结束并显示猜测次数 |
🔹 第3周:字典与函数封装
目标:学会用字典存储结构化数据,用函数封装可复用逻辑(基础能力分水岭)。
| 天数 | 学习内容 | 实操任务 |
|---|---|---|
| Day 1 | 字典(dict)的创建、增删改查;keys(), values(), items() | 创建一个学生信息字典(姓名、年龄、班级),练习各种操作 |
| Day 2 | 元组(tuple)的特性与使用场景;列表与字典的嵌套 | 创建一个包含多个学生字典的列表,遍历打印每个学生的姓名 |
| Day 3 | 函数的定义与调用;return返回值;无返回值函数 | 写一个add(a, b)函数并调用;写一个打印菜单的函数 |
| Day 4 | 位置参数、默认参数、关键字参数 | 写一个greet(name, greeting="Hello"),测试不同传参方式 |
| Day 5 | 局部变量与全局变量(global关键字了解即可) | 改造BMI计算器:把逻辑全部封装到calc_bmi()函数中 |
| Day 6 | 模块化初步:把函数放在不同.py文件中,用import导入 | 把上周的猜数字游戏拆成game.py和main.py |
| Day 7 | 周项目:学生成绩管理系统 | 用字典存储学生姓名和成绩,实现添加、查询、删除、计算平均分、显示所有学生,每个功能独立函数 |
🔹 第4周:文件读写与路径操作
目标:让程序能够读取硬盘上的文件,并保存处理结果。
| 天数 | 学习内容 | 实操任务 |
|---|---|---|
| Day 1 | open()打开文件;read(), readline(), readlines() | 读取一个test.txt文件并逐行打印 |
| Day 2 | write()写入文件;with上下文管理器 | 写程序:用户输入内容,保存到note.txt |
| Day 3 | 读写CSV文件(用csv标准库) | 创建students.csv(姓名,成绩),读取并打印 |
| Day 4 | 读写JSON文件(用json标准库) | 把一个字典列表保存为data.json,再读取回来 |
| Day 5 | os模块基础:路径拼接、文件重命名、遍历文件夹 | 打印当前目录下所有.txt文件的文件名 |
| Day 6 | 综合练习:批量处理 | 读取文件夹下所有.txt文件,统计总行数,写入summary.txt |
| Day 7 | 周项目:文件批量处理脚本 | 遍历指定文件夹,将所有.jpg图片按修改日期重命名为YYYYMMDD_序号.jpg |
🔹 第5周:异常处理与调试思维
目标:让程序更健壮,遇到错误不崩溃,且能独立看懂报错信息。
| 天数 | 学习内容 | 实操任务 |
|---|---|---|
| Day 1 | try / except 捕获异常;常见异常类型(FileNotFoundError, ValueError) | 故意把文件路径写错,用try捕获并给出友好提示 |
| Day 2 | try-except-else-finally完整结构 | 写程序:输入两个数字相除,捕获除零错误和类型错误 |
| Day 3 | 主动抛出异常(raise) | 写一个函数,当传入负数时主动raise ValueError |
| Day 4 | 读懂报错信息(Traceback)——从最后一行往上读 | 拿一段有bug的代码,练习从报错定位问题行 |
| Day 5 | 使用print()进行简单调试;VSCode断点调试入门 | 给猜数字游戏加上调试断点,观察变量变化 |
| Day 6 | 回顾周:把前4周所有项目代码,全部加上异常处理 | 确保任何输入错误或文件不存在时程序都不崩溃 |
| Day 7 | 小练习:文件拷贝工具 | 输入源路径和目标路径,拷贝文件,处理路径不存在、权限不足等异常 |
🔹 第6周:第一次综合实战(核心里程碑)
目标:独立完成一个有用、完整的命令行工具,综合运用前5周所有知识。
项目:日志分析工具
需求:
- 读取
log.txt(每行格式:2026-08-31 10:00:00 ERROR 磁盘已满) - 统计 INFO / WARN / ERROR 各多少条
- 打印统计结果
- 将所有ERROR级别的行单独保存到
error.log
- 读取
- 要求:必须使用 函数 + 文件读写 + 异常处理 + 循环/判断
- 自测:如果文件不存在时提示用户重新输入路径;如果某行格式不对则跳过并记录跳过行数
- 验收:最终输出
report.txt,包含各级别统计数量和错误行跳过数量
🔹 第7周:接入生态(第三方库入门)
目标:学会安装和使用第三方库,感受Python生态的强大。
| 天数 | 学习内容 | 实操任务 |
|---|---|---|
| Day 1 | pip包管理工具:安装、卸载、查看已安装库 | 安装requests和pandas |
| Day 2 | requests.get()发送GET请求;获取网页内容 | 用requests获取百度首页HTML,打印前200个字符 |
| Day 3 | 用requests调用公开API(如天气接口) | 写程序:输入城市名,查询并显示当前温度 |
| Day 4 | pandas读取Excel和CSV文件 | 读取一个Excel文件,查看前5行 (df.head()) |
| Day 5 | pandas数据筛选与统计(df[df['列名']>100], groupby) | 统计某列的平均值、最大值,筛选满足条件的行 |
| Day 6 | pandas写入Excel/CSV | 将筛选后的数据保存为新Excel文件 |
| Day 7 | 周项目:Excel数据清洗脚本 | 读取Excel,删除“年龄”列为空的行,将“性别”列的M/F替换为男/女,保存为新文件 |
🔹 第8周:收尾与终极自测
目标:完成最终考核项目,全面复习查漏补缺。
| 天数 | 内容 |
|---|---|
| Day 1-2 | 终极自测项目(6小时内独立完成): 扫描当前文件夹及所有子文件夹下所有 .xlsx文件,对每个文件:① 读取第一个Sheet ② 检查“日期”列是否有空值,有则删除该行 ③ 以 cleaned_原文件名.xlsx保存④ 生成 report.txt,记录每个文件删除了多少行 |
| Day 3 | 对照这个项目,回顾第6周的日志分析工具,对比思路差异 |
| Day 4 | 复习清单自查(见下方表格) |
| Day 5 | 把之前所有周项目的代码翻阅一遍,整理自己的代码片段库 |
| Day 6 | 找2道力扣(LeetCode)简单题(如“两数之和”“回文数”),尝试独立写出 |
| Day 7 | 写一篇学习总结,列出自己最常犯的3个错误和3个最得意的技能 |
📋 核心知识点自查清单(结业时逐项打勾)
| 类别 | 具体知识点 | 掌握程度 (⭐/⭐⭐/⭐⭐⭐) |
|---|---|---|
| 基础语法 | 变量、数据类型、类型转换 | |
| f-string / format 字符串格式化 | ||
if-elif-else 条件判断 | ||
for / while 循环 | ||
break / continue | ||
| 数据结构 | 列表(增删改查、切片、遍历) | |
| 字典(增删改查、遍历键值对) | ||
| 元组(特性、解包) | ||
| 列表推导式(基础) | ||
| 函数 | 定义和调用函数 | |
return 返回值 | ||
| 参数类型(位置、默认、关键字) | ||
| 局部变量与全局变量 | ||
import 导入模块 | ||
| 文件与路径 | open() 读写文本文件 | |
| 读写 CSV / JSON | ||
with 上下文管理器 | ||
os 模块路径操作 | ||
| 异常处理 | try-except 捕获异常 | |
else / finally | ||
raise 主动抛出异常 | ||
| 读懂 Traceback 报错信息 | ||
| 第三方库 | 使用 pip 安装/卸载库 | |
requests 发送简单GET请求 | ||
pandas 读取/筛选/写入数据 | ||
| 工具能力 | VSCode 中运行/调试Python文件 | |
使用 print() 调试变量 | ||
| 遇到报错复制信息去搜索解决 |
🛠️ 推荐资源(极简版)
| 类型 | 推荐 | 使用建议 |
|---|---|---|
| 视频教程(主) | B站搜索“Python零基础”,选播放量最高且2024年后更新的(如“黑马程序员”) | 只看前60集(到面向对象前即可,面向对象本次可跳过) |
| 文字手册(备查) | 菜鸟教程 Python3 | 当作字典用,忘记语法时快速翻阅 |
| 英文参考 | W3School Python | 遇到不清楚的函数看这里的示例,很清晰 |
| 练习题库 | 力扣(LeetCode)——只做“简单”难度前20道 | 做不出来就看题解,看懂后自己手敲一遍 |
| 报错解决 | 把报错信息最后一行复制到百度/Google | 这是程序员最核心的生存技能 |
⚠️ 三条必读铁律
- 每天必须敲代码 ≥ 1小时
编程是肌肉记忆,错误要亲手犯过才记得住。看视频时务必打开编辑器同步跟着敲。 - 代码必须跑通才算完成
本周的练习没跑通,绝对不进入下周内容。可以延后,但不能跳过。 - 不追求完美,先追求“有”
变量名不规范、代码冗余都没关系,第一版能运行就是胜利。先有,再优。