> 文章列表 > Python 彩蛋 —— 开发人员留下的惊喜

Python 彩蛋 —— 开发人员留下的惊喜

Python 彩蛋 —— 开发人员留下的惊喜

Python 彩蛋 —— 开发人员留下的惊喜

简介:Python 核心程序开发人员在软件内部设计了2个彩蛋。一起来看看吧。

文章目录

  • Python 彩蛋 —— 开发人员留下的惊喜
    • 💡彩蛋一:Python 之禅
    • 💡彩蛋二:Python 有趣的漫画

💡彩蛋一:Python 之禅

Python 社区的理念都包含在蒂姆·彼得斯(Tim Peters)撰写的“Python之禅”中。想要了解这些编写优秀Python代码的指导原则,只需要在解释器中执行命令import this

Python 彩蛋 —— 开发人员留下的惊喜
《Python之禅》原文⬇️

The Zen of Python, by Tim Peters

Beautiful is better than ugly.
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.
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.
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!

翻译及解释⬇️

《Python之禅》,蒂姆·彼得斯著

  • 美丽优于丑陋。(Beautiful is better than ugly.)

含义:程序员经常为实现功能而快速编写代码,导致没有考虑可读性。优美的代码肯定更加受人欢迎。

  • 明了优于隐晦。(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.)

  • 做也许好过做,然而不假思索还不如不做。(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.)

含义:Python致力于简化程序员的工作。程序需要编写它的程序员可以理解。如果“高性能”代码过于复杂以致程序员无法理解,那么它就是不好的代码。

  • 命名空间是个绝妙的主意,我们应当多加利用(Namespaces are one honking great idea – let’s do more of those!)

含义:要好好利用命名空间。命名规范,名称不冲突。



💡彩蛋二:Python 有趣的漫画

xkcd是由兰德尔·门罗(Randall Munroe)所绘制的网络漫画,作者给作品的定义是一部“关于浪漫、讽刺、数学和语言的网络漫画” 感兴趣的可以在解释器中执行命令import antigravity 或xkcd链接。

请添加图片描述