Python之禅--给编程者的掏心窝子的话

举报
tsinghuazhuoqing 发表于 2021/12/26 01:30:56 2021/12/26
【摘要】   ➤01 Python之禅 下面是最简单的Python程序: import this 运行之后,便可以得到如下的输出了: The Zen of Python, by...

 

01 Python之禅


下面是最简单的Python程序:

import this

运行之后,便可以得到如下的输出了:

The Zen of Python, by Tim Peters
Python之禅--Tim Peters

 

  • Beautiful is better than ugly:优美好于丑陋;

Python以编写优美的代码为目标。

  • Explicit is better than implicit:直接明了优于含蓄晦涩;

优美的代码应当是明了的,命名规范,风格相似

  • Simple is better than complex:简洁胜过繁杂;

优美的代码应当是简洁的,不要有复杂的内部实现

  • Complex is better than complicated:繁杂再不好,也比凌乱强。

如果复杂不可避免,那代码间也不能有难懂的关系,要保持接口简洁。

  • Flat is better than nested:扁平好于嵌套;

优美的代码应当是扁平的,不能有太多的嵌套

  • Sparse is better than dense:代码间留有适当间隔,强于紧凑排版;

优美的代码有适当的间隔,不要奢望一行代码解决问题

  • Readability counts:重要的是可读性强;

优美的代码必然是是可读的

  • Special cases aren’t special enough to break the rules:遇到特例时,也不要破坏上面的规则。

这些规则至高无上

  • Although practicality beats purity:尽管有时实用性比起纯粹性要占上风。

人都有偷懒的时候。

  • Errors should never pass silently:不要轻易放过任何错误,
  • Unless explicitly silenced:除非有意而为之。

精准地捕获异常,不写 except:pass 风格的代码

  • In the face of ambiguity, refuse the temptation to guess:面对可能出现混淆(多种可能)的时候,拒绝轻信猜测。

所以尽量避免写出容易产生误解的代码。

  • There should be one-- and preferably only one --obvious way to do it:理应确立一个,且唯一的一个明确方式来实现它。

是在无法找到明确的方式,最笨的穷举方法也是可以的。

  • Although that way may not be obvious at first unless you’re Dutch:也许这一点并不显而易见,那是因为你不是Python语言的创建者( Guido van Rossum 是Dutch)。

这里的Dutch是指Guido van Rossum

▲ Guido van Rossum

▲ Guido van Rossum

  • Now is better than never:立即行动胜过永远不行动,

说了不一定做,做了不一定成。

  • Although never is often better than right now:但要小心立,即行动也会把事情搞砸。

还是在行动之前要三思

  • If the implementation is hard to explain, it’s a bad idea:如果算法方案很难被解释的清楚,这个方案可能并不好。

或者你还没有找到一个很好的解释方法。

  • If the implementation is easy to explain, it may be a good idea:如果方案容易被理解,这才是一个好的方案。

事实上,好的理解会对方法的实现、纠错、调试、优化起到非常重要的作用。

  • Namespaces are one honking great idea – let’s do more of those!:命名空间是一个绝妙的理念,我们应该多加利用它。

除非你不打算今后不再阅读你的代码,清晰合理的命名空间是使得代码进行维护和更新的基石。

文章来源: zhuoqing.blog.csdn.net,作者:卓晴,版权归原作者所有,如需转载,请联系作者。

原文链接:zhuoqing.blog.csdn.net/article/details/109721030

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。