相信大家在学习python肯定都听说过python之禅。python之禅到底是个什么东西,设计者为什么要这样设计?又有什么意义呢?看完下面的文章你就会明白了。
文章转载自:微信公众号 Python的乐趣
作者:一粒米饭
在Python的解释器中隐藏一个彩蛋,输入import this就会返回19条Python之禅,具体如下:
>>>import this 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!
它的作者是 Tim Peter,这些设计理念开始是在Python邮件列表中发表,它包含了影响Python编程语言设计的19条软件编写原则。在最初及后来的一些版本中,一共包含20条,其中第20条是“这一条留空(...)请 Guido 来填写”。这留空的一条从未公布也可能并不存在。
其中从吉多·范罗苏姆的博客中可以了解到,最开始Python是他个人的一个实验项目(skunkworks)。为了加快Python发展,他采用了一些原则,其中包括省时规则(timesaving rules):
还有除了省时规则以外的其他规则:
1. Python实现不应局限于特定平台。可以运行某些功能并非总是可用的,但是核心部分应该在任何地方都可以使用。
2. 不要用机器可以处理的细节来打扰用户。
3. 支持和鼓励独立于平台的用户代码,但不要中断对平台功能或属性的访问(这与Java形成鲜明对比)。
4. 大型复杂系统应具有多个扩展级别。这为经验丰富的用户(无论是否熟练)提供了最大的发挥空间。
5. 错误不应致命。也就是说,只要虚拟机仍在运行,用户代码就应该能够从错误情况中恢复。
6. 同时,错误不应静默地传递(后两项决定了在整个实现中使用异常)。
7. 不应允许用户的Python代码错误导致Python解释器的不确定行为;核心错误绝不应该是由用户的错误引起的。
基于以上的哲学理念,Tim Peter整理了19条Python之禅并收录到Python增强建议(PEP 20)之中。
下面,再来简单说下这19条Python之禅的含义。
数据分析咨询请扫描二维码
《Python数据分析极简入门》 第2节 7 Pandas分组聚合 分组聚合(group by)顾名思义就是分2步: 先分组:根据某列数据的值进行 ...
2024-11-25数据分析需要学习的内容非常广泛,涵盖了从理论知识到实际技能的多个方面。以下是数据分析所需学习的主要内容: 数学和统计学 ...
2024-11-24数据分析师需要具备一系列多方面的技能和能力,以应对复杂的数据分析任务和业务需求。以下是数据分析师所需的主要能力: 统计 ...
2024-11-24数据分析师需要学习的课程内容非常广泛,涵盖了从基础理论到实际应用的多个方面。以下是根据我搜索到的资料整理出的数据分析师需 ...
2024-11-24《Python数据分析极简入门》 第2节 6 Pandas合并连接 在pandas中,有多种方法可以合并和拼接数据。常见的方法包括append()、conc ...
2024-11-24《Python数据分析极简入门》 第2节 5 Pandas数学计算 importpandasaspdd=np.array([[81,&n ...
2024-11-23数据分析涉及多个方面的学习,包括理论知识和实践技能。以下是数据分析需要学习的主要方面: 基础知识: 数据分析的基本概念 ...
2024-11-22数据分析适合在多个单位工作,包括但不限于以下领域: 金融行业:金融行业对数据分析人才的需求非常大,数据分析师可以从事经 ...
2024-11-22数据分析是一种涉及从大量数据中提取有用信息和洞察力的过程。其工作内容主要包括以下几个方面: 数据收集与整理:数据分析师 ...
2024-11-22数据分析师需要掌握多种技能,以确保能够有效地处理和分析数据,并为业务决策提供支持。以下是数据分析师需要掌握的主要技能: ...
2024-11-22数据开发和数据分析是两个密切相关但又有所区别的领域。以下是它们的主要区别: 定义和目标: 数据开发:数据开发涉及数据的 ...
2024-11-22数据架构师是负责设计和管理企业数据架构的关键角色,其职责涵盖了多个方面,包括数据治理、数据模型设计、数据仓库构建、数据安 ...
2024-11-22数据分析师需要具备一系列技能,以确保能够有效地处理、分析和解释数据,从而支持决策制定。以下是数据分析师所需的关键技能: ...
2024-11-22数据分析师需要具备一系列技能,以确保能够有效地处理、分析和解释数据,从而支持决策制定。以下是数据分析师所需的关键技能: ...
2024-11-22数据分析师需要具备一系列的技能和能力,以确保能够有效地处理、分析和解释数据,从而支持业务决策。以下是数据分析师所需的主要 ...
2024-11-22需求持续增长 - 未来数据分析师需求将持续上升,企业对数据驱动决策的依赖加深。 - 预测到2025年,中国将需要高达220万的数据人 ...
2024-11-22《Python数据分析极简入门》 第2节 4 Pandas条件查询 在pandas中,可以使用条件筛选来选择满足特定条件的数据 importpanda ...
2024-11-22数据分析师的工作内容涉及多个方面,主要包括数据的收集、整理、分析和可视化,以支持商业决策和问题解决。以下是数据分析师的一 ...
2024-11-21数据分析师必须掌握的技能可以从多个方面进行归纳和总结。以下是数据分析师需要具备的主要技能: 统计学基础:数据分析师需要 ...
2024-11-21数据分析入门的难易程度因人而异,总体来看,入门并不算特别困难,但需要一定的学习和实践积累。 入门难度:数据分析入门相对 ...
2024-11-21