双十一|总结了90条简单实用的Python编程技巧

双十一|总结了90条简单实用的Python编程技巧




建议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:将常量集中在一个文件 , 且常量名尽量使用全大写字母
编程惯用法建议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
编程惯用法2建议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)注意异常捕获的顺序 , 在合适的层次处理异常