python基础总结
一、Python 基础入门
1.1 环境搭建:Python安装、pip包管理、虚拟环境(venv/conda)、IDE选择(VSCode/PyCharm)
1.2 基本语法:变量、数据类型、运算符、注释
1.3 流程控制:if/elif/else、for/while循环、break/continue/pass
1.4 输入输出:print、input、格式化字符串(f-string)
二、数据结构
- 字符串:切片、常用方法、正则表达式(re模块)
- 列表(List):增删改查、列表推导式
- 元组(Tuple):不可变序列、解包
- 字典(Dict):键值对、字典推导式、常用方法
- 集合(Set):去重、交并差运算
- 推导式:列表/字典/集合/生成器推导式
三、函数与模块
- 函数定义:参数(位置/关键字/默认/可变参数)、返回值
- 作用域:LEGB规则、global/nonlocal
- 高阶函数:lambda、map、filter、reduce
- 装饰器:函数装饰器、类装饰器、wraps
- 生成器:yield、迭代器协议
- 模块与包:import机制、init.py、相对/绝对导入
四、面向对象编程(OOP)
- 类与对象:init、实例属性、类属性
- 封装、继承、多态
- 魔术方法:str、repr、len、__eq__等
- 类方法与静态方法:@classmethod、@staticmethod
- 属性管理:@property、slots
- 抽象类:abc模块
- MRO与多继承:方法解析顺序
五、异常处理与文件操作
- 异常处理:try/except/else/finally、自定义异常
- 上下文管理器:with语句、enter/exit
- 文件操作:读写文本/二进制文件、os/pathlib模块
- 序列化:json、pickle、csv模块
六、常用标准库
- 系统相关:os、sys、shutil、subprocess
- 时间日期:datetime、time、calendar
- 数据处理:collections、itertools、functools
- 并发基础:threading、multiprocessing、concurrent.futures
- 网络基础:socket、urllib、http.client
- 日志:logging模块
七、异步编程
- 协程基础:async/await语法
- 事件循环:asyncio模块
- 异步IO:aiohttp、aiofiles
- 并发模型对比:多线程 vs 多进程 vs 协程
八、常用第三方库
| 方向 | 常用库 |
|---|---|
| 数据处理 | NumPy、Pandas |
| 数据可视化 | Matplotlib、Seaborn、Plotly |
| Web开发 | Flask、FastAPI、Django |
| 爬虫 | Requests、BeautifulSoup、Scrapy |
| 测试 | pytest、unittest、mock |
| 机器学习 | Scikit-learn、PyTorch、TensorFlow |
| 数据库 | SQLAlchemy、pymysql、redis-py |
九、工程化与最佳实践
- 代码规范:PEP8、类型注解(typing)、mypy
- 包管理:poetry、pip-tools、requirements.txt
- 测试:单元测试、集成测试、TDD
- 调试:pdb、ipdb、VSCode调试器
- 性能优化:cProfile、line_profiler、Cython
- 设计模式:单例、工厂、观察者、策略模式
- 文档:docstring、Sphinx
十、进阶专项方向(选择一个深入)
Web后端开发 → FastAPI / Django + 数据库 + 部署
数据分析 → Pandas + Matplotlib + Jupyter
机器学习/AI → NumPy + Scikit-learn + PyTorch
爬虫与自动化 → Scrapy + Playwright + 反爬策略
运维/脚本 → Fabric + Ansible + Shell交互