“罗马不是一天建成的", 编写代码水平的提升也不可能一蹴而就, 通过一点一滴的积累,才能达成从量变到质变的飞跃。这种积累可以从日常工作应用中获得,也可以借鉴前辈大师的经验。
今天给大家分享一份编写高质量python代码的99个建议,主要从编程惯用法 、基础语法 、 库 、 设计模式、 内部机制 、 开发工具 、 性能剖析与优化等方面深入解读如何编写高质量的Python程序。
这些建议或源于实际项目应用经验, 或源于对Python本质的理解和探讨, 或源于社区推荐的做法。它们能够帮助你快速完成从入门到进阶的这个过程。认真学习完,相信你的Python编码水平会有一个质的飞跃!
适合人群:
有一定的 Python 基础 , 希望通过项目砐佳实践来提升自己的相关 Python 人员。
希望进一步掌握 Python 相关内部机制的技术人员。
希望写出更高质量、 更Pythonic代码的编程人员。
目录:
第 1 章 引论
建议1 : 理解Pythonic概念
建议2: 编写Pythonic代码
建议3: 理解Python与C语言的不同之处
建议4: 在代码中适当添加注释
建议5:通过适当添加空行使代码布局更为优雅、合理
建议6: 编写函数的4个原则
建议7: 将常扭集中到一个文件
第2章 编程惯用法
建议8: 利用assert语句来发现问题
建议9:数据交换值的时候不推荐使用中间变量
建议10:充分利用Lazyevaluation的特性
建议11: 理解枚举替代实现的缺陷
建议12: 不推荐使用type来进行类型检查
建议 13: 尽量转换为浮点类型后再做除法
建议 14: 警惕evalO的安全漏洞
建议15:使用enumerateO获取序列迭代的索引和值
建议16: 分清=与is的适用场景
建议17:考虑兼容性,尽可能使用Unicode
建议18: 构建合理的包层次来管理 module
第3章 基础语法
建议19: 有节制地使用from ... import语句
建议20: 优先使用absolute import来导入模块
建议21: i+=l不等于++i
建议22: 使用with自动关闭资源
建议23: 使用else子句简化循环(异常处理)
建议24: 遵循异常处理的几点基本原则
建议25: 避免finally中可能发生的陷阱
建议26:深入理解None,正确判断对象是否为空
建议27:连接字符串应优先使用join而不是+
建议28:格式化字符串时尽量使用.format方式而不是%
建议29: 区别对待可变对象和不可变对象
建议30:[]、()和{}:一致的容器初始化形式
建议31: 记住函数传参既不是传值也不是传引用
建议32: 警惕默认参数潜在的问题
建议33: 慎用变长参数
建议34: 深入理解str() 和 repr()的区别
建议35: 分清staticmethod 和 classmethod的适用场景
第4章 库
建议36: 掌握字符串的基本用法
建议37: 按需选择sort()或者sorted()
建议39: 使用Counter进行计数统计
建议40: 深入掌握ConfigParser
建议41: 使用argparse处理命令行参数
建议42:使用pandas处理大型CSV文件
建议43:一般情况使用ElementTree解析XML
建议44: 理解模块pickle优劣
建议45: 序列化的另一个不错的选择一JSON
建议46:使用traceback获取栈信息
建议47:使用logging记录日志信息
建议48:使用threading模块编写多线程程序
建议49:使用Queue使多线程编程更安全
第5章 设计模式
建议50: 利用模块实现单例模式.
建议51: 用mixin 模式让程序更加灵活
建议52: 用发布订阅模式实现松耦合
建议53: 用状态模式美化代码
第 6章 内部机制
……
第7章 使用工具辅助项目开发
……
第8章 性能剖析与优化
……
篇幅有限,这里就不一一展示了
需要完整资料的朋友请关注我们的公众号
扫描下方二维码添加小助理微信,备注“学习笔记”
我会第一时间发送给您