woodfizky
2024-02-19 09:02:15 +08:00
你没把这篇文章本身就主观的标题也翻译过来,人家是《我在生产中不会用的 9 种反模式》,突出一个主观。
部分观点你也总结的不对。
1 ,原作者确实说其他语言没见过这样的语法,但是只是说其他并非熟悉 Python 的同事在维护 for-else 代码时会困惑,并且下面给出了一段不用 for-else 的 Python 代码,你看那段代码就知道 for-else 比其他语言还要自己写个 flag 的好处在哪里了,本身 for-else 是好东西;
3 ,作者意思是 python 中有更优雅的多重嵌套循环实现方式;
6 ,用 OOP 语言写的代码,继承链过长不是 OOP 语言的错,是开发者的错;
7 ,别的 IDE 不清楚,PyCharm 用可变对象做默认参数,IDE 会提示告警的;
9 ,原文是还兼容 C 风格的字符串格式化方式,但是后面有这么一句话:
We should avoid this old technique now and apply the f-string syntax for all string formatting in Python ;
Python 现在有 fstring 了,fstring 之前也有.format ,C 风格的字符串格式化很少见到有同事用了,顶多用 format 方法,或者更笨的字符串相加。。作者呼吁用新特性,这点是没毛病的。