《Python之禅》的翻译和解释

​ 凡是用过 Python的人,基本上都知道在交互式解释器中输入 import this 就会显示 Tim Peters 的 The Zen of 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!

翻译和解释

Python之禅 by Tim Peters
1、优美胜于丑陋(Python 以编写优美的代码为目标)
2、明了胜于晦涩(优美的代码应当是明了的,命名规范,风格相似)
3、简洁胜于复杂(优美的代码应当是简洁的,不要有复杂的内部实现)
4、复杂胜于凌乱(如果复杂不可避免,那代码间也不能有难懂的关系,要保持接口简洁)
5、扁平胜于嵌套(优美的代码应当是扁平的,不能有太多的嵌套)
6、间隔胜于紧凑(优美的代码有适当的间隔,不要奢望一行代码解决问题)
7、可读性很重要(优美的代码是可读的)
8、即便假借特例的实用性之名,也不可违背这些规则(这些规则至高无上)
9、不要包容所有错误,除非你确定需要这样做(精准地捕获异常,不写 except:pass 风格的代码)
10、当存在多种可能,不要尝试去猜测
11、而是尽量找一种,最好是唯一一种明显的解决方案(如果不确定,就用穷举法)
12、虽然这并不容易,因为你不是 Python 之父(这里的 Dutch 是指 Guido )
13、做也许好过不做,但不假思索就动手还不如不做(动手之前要细思量)
14、如果你无法向人描述你的方案,那肯定不是一个好方案;反之亦然(方案测评标准)
15、命名空间是一种绝妙的理念,我们应当多加利用(倡导与号召)

《Python之禅》相关推荐

  1. ComeFuture英伽学院——2020年 全国大学生英语竞赛【C类初赛真题解析】(持续更新)

    视频:ComeFuture英伽学院--2019年 全国大学生英语竞赛[C类初赛真题解析]大小作文--详细解析 课件:[课件]2019年大学生英语竞赛C类初赛.pdf 视频:2020年全国大学生英语竞赛 ...

  2. ComeFuture英伽学院——2019年 全国大学生英语竞赛【C类初赛真题解析】大小作文——详细解析

    视频:ComeFuture英伽学院--2019年 全国大学生英语竞赛[C类初赛真题解析]大小作文--详细解析 课件:[课件]2019年大学生英语竞赛C类初赛.pdf 视频:2020年全国大学生英语竞赛 ...

  3. 信息学奥赛真题解析(玩具谜题)

    玩具谜题(2016年信息学奥赛提高组真题) 题目描述 小南有一套可爱的玩具小人, 它们各有不同的职业.有一天, 这些玩具小人把小南的眼镜藏了起来.小南发现玩具小人们围成了一个圈,它们有的面朝圈内,有的 ...

  4. 信息学奥赛之初赛 第1轮 讲解(01-08课)

    信息学奥赛之初赛讲解 01 计算机概述 系统基本结构 信息学奥赛之初赛讲解 01 计算机概述 系统基本结构_哔哩哔哩_bilibili 信息学奥赛之初赛讲解 02 软件系统 计算机语言 进制转换 信息 ...

  5. 信息学奥赛一本通习题答案(五)

    最近在给小学生做C++的入门培训,用的教程是信息学奥赛一本通,刷题网址 http://ybt.ssoier.cn:8088/index.php 现将部分习题的答案放在博客上,希望能给其他有需要的人带来 ...

  6. 信息学奥赛一本通习题答案(三)

    最近在给小学生做C++的入门培训,用的教程是信息学奥赛一本通,刷题网址 http://ybt.ssoier.cn:8088/index.php 现将部分习题的答案放在博客上,希望能给其他有需要的人带来 ...

  7. 信息学奥赛一本通 提高篇 第六部分 数学基础 相关的真题

    第1章   快速幂 1875:[13NOIP提高组]转圈游戏 信息学奥赛一本通(C++版)在线评测系统 第2 章  素数 第 3 章  约数 第 4 章  同余问题 第 5 章  矩阵乘法 第 6 章 ...

  8. 信息学奥赛一本通题目代码(非题库)

    为了完善自己学c++,很多人都去读相关文献,就比如<信息学奥赛一本通>,可又对题目无从下手,从今天开始,我将把书上的题目一 一的解析下来,可以做参考,如果有错,可以告诉我,将在下次解析里重 ...

  9. 信息学奥赛一本通(C++版) 刷题 记录

    总目录详见:https://blog.csdn.net/mrcrack/article/details/86501716 信息学奥赛一本通(C++版) 刷题 记录 http://ybt.ssoier. ...

  10. 最近公共祖先三种算法详解 + 模板题 建议新手收藏 例题: 信息学奥赛一本通 祖孙询问 距离

    首先什么是最近公共祖先?? 如图:红色节点的祖先为红色的1, 2, 3. 绿色节点的祖先为绿色的1, 2, 3, 4. 他们的最近公共祖先即他们最先相交的地方,如在上图中黄色的点就是他们的最近公共祖先 ...

最新文章

  1. access order by 判断是否除数为0
  2. 玩转Autorun.inf
  3. MyEclipse的Git配置
  4. 红黑树中nil结点_什么是红黑树?程序员面试必问!
  5. mysql行级锁作用_Mysql事务及行级锁的理解
  6. dev c++调试怎么看变量的值_利用GDB调试 MSQL
  7. 世纪互联、微软Azure与无穷小微积分
  8. apache---httpd.conf详解
  9. JSK-135 数字加1【大数】
  10. poj 3268 Silver Cow Party dijkstra基础题!!!入门
  11. 【不懂】spring bean生命周期
  12. java 表头固定_固定表头在快逸报表中的设定
  13. mediacodec配置h265解码
  14. 数据结构_静态链表(C语言)
  15. C# 海康人脸识别设备初开发(一)
  16. 腾讯混合云存储 TStor 系列再添新成员,并行存储一体机正式发布​
  17. Centos7 查看用户和用户组
  18. 嵌入式系统求职回忆录757740595
  19. 期末项目——同源药膳堂
  20. 家庭教育之学生不愿做家务怎么办?

热门文章

  1. springboot租房管理系统源码分享
  2. 蓝桥杯官网python组基础练习-基础1-5
  3. 03-Matplotlib数据可视化
  4. 行列式的计算机应用答辩ppt,矩阵键盘的研究毕业设计论文+开题报告+答辩PPT
  5. 哈理工OJ 1304 13哥的机器人(思维题)
  6. 下载量突破10亿,MinIO的开源启示录
  7. 导入rasterio时的玄学错误:在命令行模式下可以导入,在代码文件中导入却会报错
  8. Java学习心得及学习顺序
  9. gitHub客户端Desktop的安装使用总结 ---基础篇
  10. virtualbox/vbox硬件级虚拟机系统 去虚拟化 批量启动克隆修改信息工具 超能版