建议64:利用操作符重载实现中缀语法
建议65:熟悉 Python 的迭代器协议
建议66:熟悉 Python 的生成器
建议67:基于生成器的协程和 greenlet , 理解协程、多线程、多进程之间的区别
建议68:理解 GIL 的局限性
建议69:对象的管理和垃圾回收
7. 使用工具辅助项目开发建议70:从 PyPI 安装第三方包
建议71:使用 pip 和 yolk 安装、管理包
建议72:做 paster 创建包
建议73:理解单元测试的概念
建议74:为包编写单元测试
建议75:利用测试驱动开发(TDD)提高代码的可测性
建议76:使用 Pylint 检查代码风格
代码风格审查
代码错误检查
发现重复以及不合理的代码 , 方便重构
高度的可配置化和可定制化
支持各种 IDE 和编辑器的集成
能够基于 Python 代码生成 UML 图
能够与 Jenkins 等持续集成工具相结合 , 支持自动代码审查
建议77:进行高效的代码审查
建议78:将包发布到 PyPI
8. 性能剖析与优化建议79:了解代码优化的基本原则
建议80:借助性能优化工具
建议81:利用 cProfile 定位性能瓶颈
建议82:使用 memory_profiler 和 objgraph 剖析内存使用
建议83:努力降低算法复杂度
建议84:掌握循环优化的基本技巧
减少循环内部的计算
将显式循环改为隐式循环 , 当然这会牺牲代码的可读性
在循环中尽量引用局部变量
关注内层嵌套循环
建议85:使用生成器提高效率
建议86:使用不同的数据结构优化性能
建议87:充分利用 set 的优势
建议88:使用 multiprocessing 模块克服 GIL 缺陷
建议89:使用线程池提高效率
建议90:使用 Cythonb 编写扩展模块
【江西|总结 90 条写 Python 程序的建议】
- 江西|互联网打工人又差点没挺过“寒冬”?有技术的一直过得好着呢
- 显卡|我借别人的ROG枪神6笔记本玩了几天,总结了3大优势2个缺点!
- 宽带|高速公路级网速!江西南昌国家级互联网骨干直联点开通:网间带宽达1600GB/s
- CPU|Pandas 对数值进行分箱操作的4种方法总结对比
- iPhone|为何大多数女生都用iPhone?总结5个优点,你们认同几个?
- 显卡|微服务与领域驱动设计,架构实践总结
- 自媒体|自媒体账号收益低?大周总结了3个小技巧,帮你提高视频收益
- 魅族|“山雨欲来”来总结,对的,说的就是魅族
- 编程|一位资深编程大师的总结:WORKNC编程技巧
- iPhone|iPhone各型号缺点总结,你踩过几个坑?