Python之禅,Less is More

作者: 云中布衣   分类:  编程之美    热度: (190℃)   时间: 2020-5-5 11:31   标签: #Python  #编程之美    
认识Python很久,但真正计划用上Python,应该是2016年的事情了,那时我还在科苑读研,至今已有四年多了。
用过的编程语言有很多,从刚上大学最初入门的VB语言,再到后来的C、C++、Java、PHP、Ruby。VB把我带到了计算机编程的世界,C、C++、Java给了我最正统的计算机语言认知,PHP让我迷上了Web,而Ruby告诉我原来编程可以如此优雅。

所有的这些都是序章,最后出场的Python让我一见如故,我喜欢它的简单、喜欢它的优雅,Tim Peters已经用Python之禅将其概括,打开Python命令行,import this,便会看到The Zen of Python。
theZenofPython.PNG
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.
//所有错误都不应该被直接忽略,除非能够被精确的捕获之后。(其中一个典型的例子就是,不建议用Exception: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 之父(这里的Dutch是指Python之父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!
//命名空间是一种绝妙的理念,我们应当多加利用(倡导与号召)

用Python已经四年多了,离真正的精通还有很长的路要走。从自己闷头写简单的逻辑代码,到调用各种第三方包实现想要的功能,到分析第三方包的源码以适应自己的想要实现的功能,接下来或许应该考虑自己去贡献第三方包。我始终相信:我们所遇到的问题,大多数别人都遇到过,而且已经贡献到了开源社区,这个时候,我们需要做的就是,读懂它的文档,并用好它。但是当有一天我们遇到了别人不曾遇到的问题,或者别人遇到了还没有解决的问题,那应该是件值得庆祝的事,此时就需要我们冷静下来,发挥自己的主观能动性,解决它并把它贡献到社区,这是我们每一个受益于开源社区的人应该做的事。

用Python已经四年多了,一直在努力践行Python之禅,尽管有些地方做的还不够好,但方向我会坚持住。我喜欢简单,不喜欢复杂,我始终相信:所有复杂的系统,都是由一个个简单的逻辑组合而成的,就像再雄伟的高楼大厦,也是由一件件简单建筑材料结合而成的。写程序亦如搞建筑,不需要太多花里胡哨的语法糖,把架构打好,用一行行通俗易懂的代码充实,实现我们想要实现的功能。往后的日子要学会解构,要秉持简单的思想,去解构复杂的系统。编程如此,做科研如此,生活亦是如此。

Less is More(少即是多),是我特别喜欢的一句话,它来源于读研时《高级软件工程》课上所讲授的内容,用它来进一步阐述Python之禅,非常的贴切。掌握的编程语言不用太多,贵在精通;人生的习惯不用太多,贵在坚持;制定的计划不用太多,贵在执行。未来很长,今天很短,我愿用简单的语言来书写当下,在既定的人生航道中持之以恒的航行下去,不离不弃。

Less is More(少即是多),世界是复杂的,却也简单着。

<完,2020年5月4日,云中布衣书于北京月坛西街>
56.8K

评论:

站元素 Say:
Less is More(少即是多),世界是复杂的,却也简单着。

2020-05-18 11:03


云中布衣
2020-05-21 09:34
@站元素:欢迎常来

发表评论:

© 云中布衣 2015-2019 | Driven by EMLOG  | SiteMap | RunTime: 9.98ms RSS  |   | TOP

文章数量【292】 评论数量【404】 稳定运行【1847天】

Visitor IP Address【54.160.19.155】

Email:ieeflsyu#outlook.com