The Zen of Python, by Tim Peters

(Python之禅 by Tim Peters)

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.

(不要包容所有错误,除非你确定需要这样做(精准地捕获异常,不写 except:pass 风格的代码))

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.

(虽然这并不容易,因为你不是 Python 之父(这里的 Dutch 是指 Guido ))

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学习群:725479218

Python文学家为Python写的一首词?(附中英文版)的更多相关文章

  1. python 生成18年写过的博客词云

    文章链接:https://mp.weixin.qq.com/s/NmJjTEADV6zKdT--2DXq9Q 回看18年,最有成就的就是有了自己的 博客网站,坚持记录,写文章,累计写了36篇了,从一开 ...

  2. 会用python把linux命令写一遍的人,进大厂有多容易?

    看过这篇<2000字谏言,给那些想学Python的人,建议收藏后细看!>的读者应该都对一个命令有点印象吧?没错,就是 linux 中经常会用到的 ls 命令. 文章中我就提到如何提升自己的 ...

  3. Python实现将不规范的英文名字首字母大写

    Python实现将不规范的英文名字首字母大写 这篇文章给大家主要介绍的是利用map()函数,把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字.文中给出了三种解决方法,大家可以根据需要选 ...

  4. python 在图像上写中文字体 (python write Chinese in image)

    本人处理图像的时候经常使用opencv的包,但是 cv2.putText 显示不了中文,所以查找了如何在python在图像上写中文的方法,在伟大的Stack Overflow上面找到一个方法,分享给大 ...

  5. Python之路-python数据类型(列表、字典、字符串、元祖)操作

    一.列表: 列表的语法,以中括号开通和结尾,元素以逗号隔开.例如:name = [] 列表是以下标取值,第一个元素下标是0,第二个元素下标是1,最后一个元素下标是-1.   1.增加 #name = ...

  6. 【和我一起学python吧】python入门语法总结

    1.python是一个解释性语言: 一个用编译性语言比如C或C++写的程序可以从源文件(即C或C++语言)转换到一个你的计算机使用的语言(二进制代码,即0和1).这个过程通过编译器和不同的标记.选项完 ...

  7. 【转载】路径双反斜杠!!!Python IDLE或Python shell中切换路径 切换目录os.chdir("C:\\python37\\2019pythonshel37\\diedai")

    Python IDLE或shell中切换路径在Python自带的编辑器IDLE中或者python shell中不能使用cd命令,那么跳到目标路径呢.方法是使用os包下的相关函数实现路径切换功能. im ...

  8. python初步学习-python函数(一)

    python 函数 函数是组织好的,可重复使用的,用来实现单一或者相关联功能的代码段. 函数能提高应用的模块性和代码的重复利用率. 函数定义 python中函数定义有一些简单的规则: 函数代码块以de ...

  9. Python之路Python文件操作

    Python之路Python文件操作 一.文件的操作 文件句柄 = open('文件路径+文件名', '模式') 例子 f = open("test.txt","r&qu ...

随机推荐

  1. python之线程相关操作

    1.线程: 一个进程可以有多个线程,共享一个进程的资源: 2.进程线程的区别:  进程是资源分配的最小单位,线程是程序执行的最小单位 3.python中线程模块threading, 提供的类: Thr ...

  2. 修改 this 指向

    封装函数 f,使 f 的 this 指向指定的对象 function bindThis(f, oTarget) { if(f.bind){ return f.bind(oTarget); }else{ ...

  3. Spark机器学习——模型选择与参数调优之交叉验证

    spark 模型选择与超参调优 机器学习可以简单的归纳为 通过数据训练y = f(x) 的过程,因此定义完训练模型之后,就需要考虑如何选择最终我们认为最优的模型. 如何选择最优的模型,就是本篇的主要内 ...

  4. Salesforce小知识:累计汇总字段类型

    累计汇总字段类型的定义 Salesforce中可以在两个对象之间建立关系.一个对象的某一条记录可以有若干条相关联的其他对象记录. 累计汇总字段可以将这些相关联的记录中的某些字段值汇总起来,显示给用户. ...

  5. Android jni c/c++线程通过CallVoidMethod调用java函数出现奔溃问题

    最近在移植网络摄像机里的p2p库到android平台,需要用到jni,最近在c线程了调用java函数的时候 出现一个问题,假如在同一个线程调用java函数是没问题的,但在一个c线程了调用java函数就 ...

  6. Android深入四大组件(八)广播的注册、发送和接收过程

    前言 我们接着来学习Android四大组件中的BroadcastReceiver,广播主要就是分为注册.接收和发送过程.建议阅读此文前请先阅读Android深入理解四大组件系列的文章,知识重复的部分, ...

  7. Python:BeautifulSoup移除某些不需要的属性

    很久之前,我看到一个问题,大概是: 他爬了一段html,他获取下了所需的部分(img标签部分),但是不想保留img标签的某些属性, 比如 <img width="147" h ...

  8. matlab练习程序(Levenberg-Marquardt法最优化)

    上一篇博客中介绍的高斯牛顿算法可能会有J'*J为奇异矩阵的情况,这时高斯牛顿法稳定性较差,可能导致算法不收敛.比如当系数都为7或更大的时候,算法无法给出正确的结果. Levenberg-Marquar ...

  9. maven(八),阿里云国内镜像,提高jar包下载速度

    镜像 maven默认会从中央仓库下载jar包,这个仓库在国外,而且全世界的人都会从这里下载,所以下载速度肯定是非常慢的.镜像就相当于是中央仓库的一个副本,内容和中央仓库完全一样,目前有不少国内镜像,其 ...

  10. Java新建Web应用与配置Tomcat流程

    1. 新版本IDEA新建Web应用后没有web.xml文件,需要通过下图方式添加 2. IDEA中的web文件夹相当于eclipse里的WebRoot文件夹,在里面新建WEB-INF文件夹,再创建cl ...