.jpg)
书: https://pan.baidu.com/s/1hMg-9fMkkzntAfHoLymQMA?pwd=2tx9
笔记如下:
- Python高级语法:深入理解描述符(
__get__
/__set__
)、元类(type
)、上下文管理器(__enter__
/__exit__
)等特性。 - 函数式编程:熟练使用
map
/filter
/reduce
、闭包、偏函数(functools.partial
)和柯里化。 - 并发与并行:
- 多线程(
threading
)的GIL限制与IO密集型任务优化 - 多进程(
multiprocessing
)实现CPU并行计算 - 异步编程(
asyncio
)与协程(async
/await
)
- 内存管理:
- 引用计数与垃圾回收机制
- 内存泄漏检测(
tracemalloc
) - 弱引用(
weakref
)的使用场景
- 性能优化技巧:
- 使用
dis
模块分析字节码 - Cython加速关键代码
- 避免
+=
操作字符串(改用str.join
)
- 元编程技术:
- 动态创建类(
type()
) - 装饰器工厂函数
- 猴子补丁(Monkey Patching)
- 设计模式实践:
- 单例模式(
__new__
实现) - 观察者模式(基于
weakref.WeakSet
) - 策略模式(函数作为一等对象)
- C扩展开发:
- 使用
ctypes
调用C库 - 通过
Cython
编写扩展模块 - Python/C API直接开发原生扩展
- 网络编程进阶:
- 自定义协议(
asyncio.Protocol
) - WebSocket实时通信
- Scrapy爬虫框架深度定制
- 科学计算优化:
- NumPy的
ndarray
内存布局 - 多进程并行处理Pandas大数据
- Numba实现JIT编译加速
- NumPy的
- 机器学习工程化:
- 自定义TensorFlow/Keras层
- PyTorch动态图原理
- 模型部署(ONNX/TensorRT)
- 区块链开发:
- 实现简易区块链(哈希链)
- 智能合约开发(Web3.py)
- 加密货币交易机器人
- GUI开发精髓:
- PyQt信号槽高级用法
- 自定义QWidget绘制
- 多窗口数据通信
- 游戏开发技巧:
- Pygame性能优化
- 实体组件系统(ECS)架构
- 2D物理引擎实现
- 安全编程实践:
- 防SQL注入(参数化查询)
- 密码学(
hashlib
/cryptography
) - 反爬虫对抗策略
- 调试与逆向:
- 使用
pdb++
增强调试 - 字节码修改(
bytecode
库) - 函数Hook技术
- 使用
- 跨平台兼容:
- 处理路径差异(
pathlib
) - 系统API调用(
ctypes
/winreg
) - 打包多平台可执行文件
- 处理路径差异(
- 文档与测试:
- Sphinx生成专业文档
- 属性测试(
hypothesis
) - 突变测试(
mutmut
)
- 领域特定语言:
- 使用
PLY
实现解析器 - 自定义配置语言
- 规则引擎开发
- 使用
- 架构设计思想:
- 清洁架构(Clean Architecture)
- 事件驱动系统
- 微服务通信(gRPC/ZeroMQ)