Python 学习路径规划
第一阶段:基础入门(约 2 周)
第一周
- 常用内置类型(int, float, bool, bytes, str, list, dict, set)的使用。
- 分支 if-else、循环 while、迭代 for 的语法。
- def 定义函数,调用函数。
第二周
- 类(Class)。
- 异常处理(Exception)。
达到此程度可视为入门,但在实际编程中常因理解不深入而遇到挫折,主要集中在语法和 API 层面体验不足。
新手常见问题与深层理解
- 不了解 Python 对象模型,变量名、对象概念含混。
- 不了解可变对象和不可变对象,尤其是 int。
- 不了解切片意味着拷贝,在循环中大量使用影响效率。
- 不清楚切片是浅拷贝还是深拷贝。
- 遇到 bytes 和 str(2.7 中的 str 和 unicode)混淆。
- 经常在需要使用 is 的场景使用 ==。
- 不了解 def 是运行时执行语句,并且是赋值语句。
- 类属性和实例属性混淆。
- 不了解在函数中修改可变对象参数会对调用者产生影响。
- 企图在函数中修改全局变量,未使用 global,创建了本地变量。
- 以可变对象做函数默认参数。
第二阶段:进阶内功(语言层面)
- 使用生成器、迭代器。
- 函数式编程,匿名函数 lambda,map, reduce, filter。
- 列表解析、字典解析、集合解析、生成器解析。
- 运算符重载(setattr, getattr, getitem, gt, lt...)。
- property, 描述符(get, set, delete)。
- 上下文管理器(enter, exit)。
- 深入理解面向对象。
第三阶段:外功训练(标准库)
以下模块进入标准库说明足够好且在实际项目中常用:
- 正则表达式。
- 迭代工具 itertools。
- 常用数据结构 collections, heapq, array。
- 处理二进制数据 struct。
- 随机 random。
- 系统调用 os。
- Python 对象序列化 pickle。
- 多进程多线程处理 threading, multiprocessing。
- 网络 socket, urllib。
- 系统参数 sys。
第四阶段:实战应用
结合实战是最好的训练方式,可根据个人情况选择:
- 使用 django, flask 开发网站。
- 开发网络爬虫或使用 Python 爬虫框架(如 scrapy)。
- 写一些自动化运维脚本,定时读取某软件 log,出现异常自动发邮件。
- 使用 selenium 对网站进行测试。
- 使用 Python 开发树莓派小车(电机、传感器驱动)。
- 使用 Python 开发 Vim 插件。
- 使用 Python 做算法题,如 leetcode。
- opencv 做图像识别。
- 使用 numpy 和 pandas 做数据处理。
- 使用机器学习库 sklearn, tensorflow 做应用。
- 使用 PyQt 编写桌面应用。
- 使用 scipy matplotlib 做科学计算。
- 使用 Python 做渗透测试。


