建议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)注意异常捕获的顺序 , 在合适的层次处理异常
- 显卡|双11已过,全网交易额曝光,天猫京东唯品会都变了
- 骁龙8|双王齐聚!消息称vivo X90要拿下天玑9200+骁龙8 Gen2双首发
- 双十一|双十一千元机推荐,骁龙870+12GB+256GB,昔日顶配旗舰跌至新低
- TCL|电视双十一战绩出炉,索尼无缘前三,TCL双十一战报“大获全胜”
- 联发科|联发科、vivo“双芯合璧”: 共创极致旗舰体验新高度
- 好不容易等来了每年一度的双11电商大促|华为freebudspro2,带来无损高清空间音质!
- 双十一苹果产品最后一波优惠将于明晚(11月10日)8点正式开始|双十一iphone14全系补货,最后一波优惠明晚开始
- 一年一度的双十一又要到了|双十一抢购攻略,你准备好了吗?
- 一加科技|双十一爆款手机不少,用户到手后满意吗?看看真实评价
- 前不久AMD基于RDNA3架构的旗舰级显卡总算姗姗来迟|rx7900xtx游戏性能对比rtx4090