【无为则无心&Python基础】— 2、Python语言的设计哲学

先总体概括Python的设计哲学就是:优雅、明确、简单

1、Python 的设计哲学

为了更好的了解Python哲学理念及设计思想,我们可以先在任何一个Python交互解释器中输入import this命令(如命令行shell,IDEL中),就会出现Python的一个彩蛋,描述了一系列Python的设计原则,阅读一下这些文字,对于我们深入了解Python有许多帮助。

python
>>>  import this

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 之父(这里的Dutch是指Guido)
 
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!
# 命名空间是一种绝妙的理念,我们应当多加利用(倡导与号召)

Guido van Rossum一定是个有趣的人,能将设计思想展现在Python解释器中,在“hello world”程序开始之前,展现他的一番人生哲学。在 Python 社区,吉多也被称为“仁慈的独裁者”。

  • 总结两点:
    • Python 开发者的哲学是:用一种方法,最好是只有一种方法来做一件事(其他语言做一件事可能会有很多种方法,这样的语言非常灵活,但是对初学者不太友好)。
    • 如果面临多种选择,Python 开发者一般会拒绝花俏的语法,而选择明确没有或者很少有歧义的语法。

2、Python 的设计目标

1999 年,Guido van Rossum向 DARPA 提交了一条名为 “Computer Programming for Everybody” 的资金申请,并在后来说明了他对 Python 的目标:

  • 一门简单直观的语言并与主要竞争者一样强大。
  • 开源,以便任何人都可以为它做贡献。
  • 代码像纯英语那样容易理解。
  • 适用于短期开发的日常任务。

这些想法中的基本都已经成为现实,如今Python 已经成为一门流行的编程语言。

发布了27 篇原创文章 · 获赞 6 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/Liuyuelinjiayou/article/details/105725808