也许大家都听说过“Python之禅”,它是由Python的核心开发成员之一Tim Peter写,成为Python编程和设计的指导原则。

也许大家还知道在python解释器中输入import this就可以查看到“Python之禅”,但是为什么是import this这个语句呢?中间又一个小故事:

2001年秋,Foretec(一家会议组织公司)正在准备召开第十届International Python Conference(IPC 10,Pycon的前身),Foretec打算征集一条印在会议T恤衫上的标语,最终他们从Python社区收到了500多条投稿。

Foretec邀请了Python的核心开发Guido, Fred, Jeremy,Tim Peter,Barry 等来担任评审。评审委员们从投稿中过滤出了130多条后就一直没有进展,直到会议快要召开时他们也没有确定最终标语。
会议就要开始的前几天,到了评审们不得不做出决定的时候了。于是由Tim Peter和Barry 两人轮流评审,每人每次淘汰一半留下一半,直到最后只剩一条。
最终,“import this”被选了出来,大家对"import this"非常满意。但是当选择了这条以后,他们意识到他们必须要实现它。经过简单的讨论后,“import this”的被定为输出Tim Peter写的《The Zen of Python》—百家号:壹瓜壹果

>>> import this
The Zen of Python, by Tim PetersBeautiful is better than ugly.
# 1.优美胜于丑陋(Python以编写优美的代码为目标)Explicit is better than implicit.
# 2.明了胜于晦涩(优美的代码应当是明了的,命名规范,风格相似)Simple is better than complex.
# 3.简洁胜于复杂(优美的代码应当是简洁的,不要有复杂的内部实现) Complex is better than complicated.
# 4.复杂胜于凌乱(如果复杂不可避免,那代码间也不能有难懂的关系,要保持接口简洁)Flat is better than nested.
# 5扁平胜于嵌套(优美的代码应当是扁平的,不能有太多的嵌套) Sparse is better than dense.
# 6.间隔胜于紧凑(优美的代码有适当的间隔,不要奢望一行代码解决问题) Readability counts.
# 7.可读性很重要(优美的代码是可读的) Special cases aren't special enough to break the rules.
Although practicality beats purity.
# 8.即便假借特例的实用性之名,也不可违背这些规则(这些规则至高无上) Errors should never pass silently.
Unless explicitly silenced.
# 9.不要包容所有错误,除非你确定需要这样做(精准地捕获异常,不写except:pass风格的代码) 

PEP 20 -- The Zen of Python(Python之禅)相关推荐

  1. PEP 20 – The Zen of Python

    PEP 20 – The Zen of Python Python之禅 原文地址:https://www.python.org/dev/peps/pep-0020/ PEP: 20 Title: Th ...

  2. python将2个列表list合并到1个列表使用appenden_【新手入门】20个很实用的 Python 学习小技巧...

    本文为大家介绍20个值得记住的 Python 技巧,可以提升您编程技巧, 并为您节省大量时间.在平常编程过程中,以下技巧大多非常有用. 1 字符串反转 使用切片反转字符串. str1="qw ...

  3. Python|Python简介|安装Python解释器|运行|开发工具|Python之禅|turtle绘制五星红旗|绘制方块|绘制小猪佩奇|语言100课:学习(1)

    文章目录 源项目地址 初识Python Python简介 Python的历史 Python的优缺点 Python的应用领域 安装Python解释器 运行Python程序 确认Python的版本 编写P ...

  4. python坦克大战_Life is short,you need Python——Python实现坦克大战(一)

    先展示一下效果 搓搓小手手,坦克大战即将开始--https://www.zhihu.com/video/1140743290784817152 一.游戏引擎的安装 安装方式有两种:1.pip安装 wi ...

  5. 从scratch到python轻松学下载_STEAM教育-[少儿创客] 从Scratch到Python——python turtle-电路城论坛 - 电子工程师学习交流园地...

    从Scratch到Python--python turtle 一种比pygame更加简洁的实现 现在很多学校都开设了Scratch课程,学生可以利用Scratch创作丰富的作品,然而Scratch之后 ...

  6. Python—②Python基础

    Python-②Python基础 <<<CSDN排版不美观,想看排版美观的进Python-②Python基础>>> 1.Python基础 ①注释 注释作用: 1.添 ...

  7. “人生苦短,我用Python“——python基础<3>

    python变成入门总结3 字符串 什么是字符串的驻留机制? 字符串的查询操作 字符串的大小写转换操作 字符串内容对齐操作 字符串分隔操作方法 判断字符串的方法 字符串操作的其他方法 字符串的比较操作 ...

  8. Python——Python编程方法与应用——程序示例

    Python--Python编程方法与应用--程序示例 例1-1 根据圆的半径计算圆的周长和面积 #ex0101.py # 计算圆形的面积和周长 r = 3.2 area = 3.14*r*r per ...

  9. [PYTHON]python 基础笔记(1)

    最近一直在研究python... 自学了一段时间,感觉对我这种本身脑子转不过弯的人来是真心是个不错的选择.. 以下是自己学习总结的笔记,有需要的朋友可以用来参考. 系统版本: Centos6.3 x6 ...

最新文章

  1. easyexcel怎么设置表头宽度_easyexcel 自动设置列宽
  2. 我的C++笔记(数据的共享与保护)
  3. UA MATH566 统计理论 QE练习题2.2
  4. string 中的offset_Kafka+Spark Streaming管理offset的几种方法
  5. 新一代Web的蓝图--语义web
  6. 基于Licode的WebRTC全球分布式架构
  7. SpringBoot用JdbcTemplates访问Mysql
  8. 【nyoj - 890】 分东西 (水题 二进制)
  9. 【maven】maven的介绍
  10. React Native 制作iOS静态库供其他原生项目使用
  11. 计算机标图命令输入,电脑每次开机后都要使用ctfmon命令才能显示输入法图标怎么办...
  12. Python乌龟吃鱼小游戏
  13. 超赞的新浪短网址链接生成器推荐(附t.cn短链接缩短api接口)
  14. 人工智能没成果,年底的PPT怎么写?腾讯科学家张潼离职的后续讨论
  15. 关于DoG角点检测matlab实现
  16. 苹果手机软件闪退怎么解决_《NBA2K21》闪退怎么办 闪退异常问题解决方法
  17. c++中计算2得n次方_南大专转本 2020年计算机考前模拟(A)
  18. Qt数据库应用21-数据分组导出
  19. 解决:Word 不显示 EndNote 插件(Word 插件不显示问题通用)
  20. 物联网发展趋势系——许永硕

热门文章

  1. java web netty_基于Netty的非Servlet规范 JavaWeb框架及高性能 Java服务器
  2. android 中的组合控件的设计
  3. 多元线性回归分析问题
  4. 十四、深入Python条件和循坏
  5. 任务型对话系统预训练最新研究进展
  6. 深度 | 用代码构建机器心智,我们离这个目标还有多远?
  7. CVer入门必备:计算机视觉的深度学习实践
  8. 【Java报错】记录一次调用递归方法导致的 StackOverFlowError 及如何重构递归代码避免栈溢出
  9. redis aof日志持久化和key设计原则
  10. Nosql数据库的四大分类