文章插图
阅读本文大概需要 3 分钟 。
”
本文于网络整理 , 版权归原作者所有 , 如来源信息有误或侵犯权益 , 请联系我删除 。
自己写 Python 也有四五年了 , 一直是用自己的“强迫症”在维持自己代码的质量 。都有去看 google 的 Python 代码规范 , 对这几年的工作经验 , 做个简单的笔记 , 如果你也在学 Python , 准备要学习 Python , 希望这篇文章对你有用 。
当然小编这里也准备一份适合你的学习资料爬虫 , web开发的学习资料视频教程 , 私信小编“01”都可以免费获取!
文章插图
1. 首先建议1、理解 Pythonic 概念—-详见 Python 中的《Python之禅》
建议2、编写 Pythonic 代码
(1)避免不规范代码 , 比如只用大小写区分变量、使用容易混淆的变量名、害怕过长变量名等 。有时候长的变量名会使代码更加具有可读性 。
(2)深入学习 Python 相关知识 , 比如语言特性、库特性等 , 比如Python演变过程等 。深入学习一两个业内公认的 Pythonic 的代码库 , 比如Flask等 。
建议3:理解 Python 与 C 的不同之处 , 比如缩进与 {} , 单引号双引号 , 三元操作符? , Switch-Case 语句等 。
建议4:在代码中适当添加注释
建议5:适当添加空行使代码布局更加合理
建议6:编写函数的 4 个原则
(1)函数设计要尽量短小 , 嵌套层次不宜过深
(2)函数声明应该做到合理、简单、易用
(3)函数参数设计应该考虑向下兼容
(4)一个函数只做一件事 , 尽量保证函数粒度的一致性
建议7:将常量集中在一个文件 , 且常量名尽量使用全大写字母
2. 编程惯用法建议8:利用 assert 语句来发现问题 , 但要注意 , 断言 assert 会影响效率
建议9:数据交换值时不推荐使用临时变量 , 而是直接 a, b = b, a
建议10:充分利用惰性计算(Lazy evaluation)的特性 , 从而避免不必要的计算
建议11:理解枚举替代实现的缺陷(最新版 Python 中已经加入了枚举特性)
建议12:不推荐使用 type 来进行类型检查 , 因为有些时候 type 的结果并不一定可靠 。如果有需求 , 建议使用 isinstance 函数来代替
建议13:尽量将变量转化为浮点类型后再做除法(Python3 以后不用考虑)
建议14:警惕eval()函数的安全漏洞 , 有点类似于 SQL 注入
建议15:使用 enumerate() 同时获取序列迭代的索引和值
建议16:分清 == 和 is 的适用场景 , 特别是在比较字符串等不可变类型变量时(详见评论)
建议17:尽量使用 Unicode 。在 Python2 中编码是很让人头痛的一件事 , 但 Python3 就不用过多考虑了
建议18:构建合理的包层次来管理 Module
3. 基础用法建议19:有节制的使用 from…import 语句 , 防止污染命名空间
建议20:优先使用 absolute import 来导入模块(Python3中已经移除了relative import)
建议21:i+=1 不等于 ++i , 在 Python 中 , ++i 前边的加号仅表示正 , 不表示操作
建议22:习惯使用 with 自动关闭资源 , 特别是在文件读写中
建议23:使用 else 子句简化循环(异常处理)
建议24:遵循异常处理的几点基本原则
(1)注意异常的粒度 , try 块中尽量少写代码
(2)谨慎使用单独的 except 语句 , 或 except Exception 语句 , 而是定位到具体异常
(3)注意异常捕获的顺序 , 在合适的层次处理异常
(4)使用更加友好的异常信息 , 遵守异常参数的规范
建议25:避免 finally 中可能发生的陷阱
建议26:深入理解 None , 正确判断对象是否为空 。
建议27:连接字符串应优先使用 join 函数 , 而不是+操作
建议28:格式化字符串时尽量使用 format 函数 , 而不是 % 形式
建议29:区别对待可变对象和不可变对象 , 特别是作为函数参数时
建议30:[], {}和():一致的容器初始化形式 。使用列表解析可以使代码更清晰 , 同时效率更高
推荐阅读
- python列表和元组,到底用哪一个?
- 用 Python 实现每秒处理 120 万次 HTTP 请求
- 买瓷砖水太深!过来人总结5条经验,非常实用,学会了能少踩坑
- 详细一看就懂得Python包概念
- 如何在 Mac 上使用 pyenv 运行多个版本的 Python | Linux 中国
- 分布式架构的总结
- Python自动化 如何优雅的操作数据库?
- 利用python爬取并翻译GEO数据库
- 17个Python的牛逼骚操作,你都OK吗?
- Python 3.8.3 已发布,这是 Python 3.8 的第三个维护版本