zen of python什么意思_如何理解「The Zen of Python」?

import this

The Zen of Python, by Tim Peters

Python之禅 ,by Tim Peters

Beautiful is better than ugly.

优美好于丑陋(Python 以优美的代码为其风格,不要写丑陋的代码)

Explicit is better than implicit.

明了好于隐晦(Python的每一行代码、每一个变量、每一函数的意义应该是明确的,让人看了一目了然)

Simple is better than complex.

简洁好于复杂(Python的每一行代码应当是简洁的,一行代码只为一个子功能)

Complex is better than complicated.

复杂好于凌乱(如果无法避免引入复杂的代码,也要尽量保证代码之间明确简洁的关系)

Flat is better than nested.

扁平好于嵌套(Python的代码结构应该是扁平的,不应该有太多嵌套的结构)

Sparse is better than dense.

稀疏好于密集

(Python代码之间应该是有间隔的,每个功能块、每个函数、每个参数、每个类之间应当有适当的间距)

Readability counts.

代码可读性很重要

(Python代码具有很好的可读性,注释、变量名、函数名、类名、模块名、代码块功能等的作用和意义都是一目了然的)

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.

面对模棱两可的情况,拒绝享受让别人去猜测的乐趣

提供有且仅有的一种最明显解决方法

(解决一个问题的方法可能会有很多种,但在Python中,只选择最明显的那一个)

Although that way may not be obvious at first unless you're 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!

命名空间是一个很棒的注意,应当多加利用

Hello World!

你好,世界!

存货 共勉。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/349210.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux用pipe创建的文件类型,linux文件类型之 管道

inux管道管道是Linux中很重要的一种通信方式,是把一个程序的输出直接连接到另一个程序的输入,常说的管道多是指无名管道,无名管道只能用于具有亲缘关系的进程之间,这是它与有名管道的最大区别。有名管道叫namedpipe或者FIFO(先进先出),可以用函数mkfifo(…

Spring Webflux – Kotlin DSL –实现的演练

在先前的博客文章中,我描述了Spring Web Framework中的响应式编程支持Spring Webflux如何使用基于Kotlin的DSL使用户能够以非常直观的方式描述路由。 在这里,我想探索一些底层实现。 描述一组端点的样本DSL看起来像这样: package sample.ro…

python 正则表达式提取数据_Python爬虫教程-19-数据提取-正则表达式(re)

本篇主页内容:match的基本使用,search的基本使用,findall,finditer的基本使用,匹配中文,贪婪与非贪婪模式Python爬虫教程-19-数据提取-正则表达式(re)正则表达式:一套规则,可以在字符串文本中进…

c语言作业请输入一个运算符,C语言书面作业1(有答案版)..doc

C语言书面作业1(有答案版).书面作业1(数据类型、变量、输入/输出、运算符与表达式、选择结构、循环结构)一、判断题:在正确的说法前面填写T,在错误的说法前面填写F(每题1分)[得分: ]()()()()标识符中可以出现下划线但它不可以放在标识符的开头…

windows server 驱动精灵_还在用Windows文件共享?我来教你一键摆脱Windows海量小文件使用和备份的噩梦...

每当我问到客户,“你用什么存储产品作为文件共享?”经常听到的一个答案(自豪滴)是,“文件共享需要存储么?我们用Windows就可以做到。”Windows就是个百宝箱,什么都能往里装,就像你家冰箱一样。众所周知&…

c语言编写日历作业,c语言实现一个简单日历

满足三个需求:1.输入一个年份,输出是在屏幕上显示该年的日历。假定输入的年份在1940-2040年之间。2.输入年月,输出该月的日历。3.输入年月日,输出距今天还有多少天,星期几,是否是公历…

将EntityManager.refresh添加到所有Spring数据存储库

在我以前的文章《从Spring Data JPA访问EntityManager》中,我展示了如何扩展单个Spring Data JPA存储库以访问EntityManager.refresh方法。 这篇文章演示了如何将EntityManager.refresh添加到所有Spring Data Repository。 源代码 第一步是定义您的界面- package …

pb 应用 迁移 linux_功能化生物炭应用研究取得系列进展

土壤营养元素流失、重金属污染是当前全球面临的突出环境问题。生物炭因其具有比表面积较大、吸附性能高和成本低等优点而在环境修复领域日益受到广泛关注,被作为水处理吸附剂、土壤修复改良剂广泛应用于农业土壤改良和环境中重金属的修复和钝化。但通常情况下&#…

Java命令行界面(第26部分):CmdOption

由于Tweet,我了解了本系列中第26个基于Java的功能强大的库,该库用于解析命令行参数 。 CmdOption在其GitHub主页上被描述为“一个通过注释配置的,用于Java 5应用程序的简单注释驱动的命令行解析器工具包。” 该项目的副标题是“命令行解析从未…

vector c++ 赋值_面对拷贝赋值时发生的自我赋值的正确态度时接受而不是防止

C.62: Make copy assignment safe for self-assignmentC.62:保证拷贝赋值对自我赋值安全Reason(原因)If x x changes the value of x, people will be surprised and bad errors will occur (often including leaks).如果xx改变了x的值,人们会觉得很奇怪&#xff0…

c语言字符流缓冲区,深入理解C语言的IO及缓冲操作

http://www.shangxueba.com/jingyan/1837313.html2014与文件I/O围绕文件描述符操作不同,标准I/O的操作是围绕流进行的。流:对于流,《C和指针》里有一段解释得很好:ANSI C进一步对I/O的概念进行了抽象。就C程序而言,所有…

maven插件依赖_当Maven依赖插件位于

maven插件依赖问题: 我们进行了一个集成测试,该测试创建了一个Spring ClassPathXmlApplicationContext ,同时这样做导致NoSuchMethodError爆炸。 事实证明,我们对Spring构件的依赖版本存在冲突。 这本身不是一个不寻常的问题-使用…

华为编程规范_华为 Java 编程规范出炉,究竟和官方文档有何不同?

来源:blog.csdn.net/chenleixing/article/details/441739851、引言这个标准是衡量代码本身的缺陷,也是衡量一个研发人员本身的价值。华为作为一家全球化的 IT 公司,十几万员工,无论是人事管理,还是代码管理&#xff0c…

变量是否在数组内c语言,函数内创建的数组在调用后,是否就不存在

函数内创建的数组在调用后,是不是就不存在本帖最后由 test_lockxxx 于 2014-04-23 09:31:06 编辑第1种写法:char *getABC(){char str[10];strcpy(str,"12345");return str;}void main(){char *p getABC();printf("%s\n",p); //这…

惯用并发:flatMap()与parallel()– RxJava常见问题解答

简单,有效和安全的并发是RxJava的设计原则之一。 然而,具有讽刺意味的是,它可能是该库中最容易被误解的方面之一。 让我们举一个简单的例子:假设我们有一堆UUID并且对于每个UUID ,我们必须执行一组任务。 第一个问题是…

python%20开发工具_20招让你的Python飞起来!

今天分享的这篇文章,文字不多,代码为主。绝对干货,童叟无欺,主要分享了提升 Python 性能的 20 个技巧,教你如何告别慢Python。原文作者 开元,全栈程序员,使用 Python, Java, PHP和C。1. 优化算法…

c语言万能预编译,Objective-C学习笔记

import 指令(将文件的内容在预编译的时候拷贝到写指令的地方)import Foundation 框架NSLog 函数 NSLog("Hello, World!");NSString语法: NSString *str "jack";字符串占位符: %数据类型C 语言支持的数据类型基本数据类型int double float char构造类型数组…

Java命令行界面(第19部分):jClap

本系列中第19篇文章的重点是从Java代码解析命令行参数是jClap ( Java命令行参数解析器 ),不应将它与称为JCLAP的库相混淆,而JCLAP库是我本系列先前文章的重点。 在以前的帖子覆盖JCLAP 1.4加尔斯吉尔温斯坦利( snaq.ne…

使用Arquillian和LocalStack脱机测试AWS云堆栈

在AWS云堆栈 (例如DynamoDB,S3等)上构建应用程序时,需要针对这些组件编写测试。 您可能首先想到的是拥有一个用于生产的环境和一个用于测试的环境,然后针对该环境运行测试。 这对于集成测试,部署测试&…

python取文本中间_Python读取两个字符串之间的特定文本行

我无法让python读取特定的行。我正在做的事情是这样的:lines of data not neededlines of data not neededlines of data not needed--------------------------------------***** REPORT 1 *****--------------------------------------[key] lines of interest ar…