文档章节

Python之禅 by Tim Peters

Barudisshu
 Barudisshu
发布于 2015/02/28 15:42
字数 481
阅读 61
收藏 0
点赞 0
评论 0

python语言之父对python设计之初提出了规范和风格,名为“Pythonic",它指的是以Python的方式去编写代码、组织逻辑和对象行为。更久以后你才会真正理解它的含义,你可以从PEP中了解,也可以在Python解析器中输入import this回车查看。

>>> 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!

大致翻译一下:

优美胜于丑陋, 
明了胜于晦涩。
简洁胜于复杂,
复杂胜于凌乱。
扁平胜于嵌套,
稀疏胜于密繁。
可读性很重要!
即便假借特例的实用性之名,也不可违背这些规则。 
不要放过一切错误,除非错误本身需要以忽略对待。 
不确定面前,我们应抵挡妄加猜测的引诱。
应该有一种,也但愿只有这一种是显而易见的解决之道。
万事开头难,除非荷兰人。 
做好过不做,而不假思索就动手还不如不做。 
如果某个实现无法很好阐释,那么它肯定是一个糟糕的办法; 
如果某个实现很容易说清楚,那么它可能就是个不错的方案。 
命名空间是个绝妙的发明——对此我们应多多益善!




© 著作权归作者所有

共有 人打赏支持
Barudisshu
粉丝 26
博文 62
码字总数 70723
作品 0
茂名
程序员
Python文学家为Python写的一首词?(附中英文版)

The Zen of Python, by Tim Peters (Python之禅 by Tim Peters) Beautiful is better than ugly. (优美胜于丑陋(Python 以编写优美的代码为目标)) Explicit is better than implicit. ......

柯西带你学编程
06/01
0
0
Python能让你上天?(附代码)

Python当然能让你上天! 没试过?别担心,我来教你。和Python里的其他东西一样,它非常简单。你只需要敲入下面这行反重力代码 这是啥? 这是个彩蛋。import antigravity将打开一个指向经典X...

技术小能手
04/24
0
0
云计算培训学院,云计算Python自动化运维开发实战

都忘记是什么时候知道python的了,我是搞linux运维的,早先只是知道搞运维必须会shell,要做一些运维自动化的工作,比如实现一些定时备份数据啊、批量执行某个操作啊、写写监控脚本什么的。后...

长沙千锋
05/15
0
0
OpenERP与Python 元编程

Python元编程被称为“黑魔法”。Python界的传奇人物Tim Peters有云: 引用 Python的元编程这种黑魔法99%的人都无需了解,如果你拿不准是否应该用到它时,你不需要它. OpenERP基本遵循了Tim P...

TomChin
2013/10/08
0
0
Python的设计理念和优缺点

  可扩充性可说是Python作为一种编程语言的特色。新的内置模块(module)可以用C 或C++写成。而我们也可为现成的模块加上Python的接口。Python可以使用户避免过分的语法的羁绊而将精力主要...

StreamWang
2010/04/21
0
1
Python 编码时应该注意的几件事情

在编程过程中,多了解语言周边的一些知识,以及一些技巧,可以让你加速成为一个优秀的程序员。 对于Python程序员,你需要注意一下本文所提到的这些事情。 你也可以看看Zen of Python(Pytho...

justjavac
2012/11/19
0
0
你知道 Python 这五个有趣的彩蛋吗?

Hello World >>> import helloHello World... >>> from future import barryasFLUFL>>> 1 <> 2True 由 C++ 转换到 Python >>> from future import bracesSyntaxError: not a chance 经典的 ......

局长
2017/05/24
2.8K
12
Python 编码时应该注意的几件事情

在编程过程中,多了解语言周边的一些知识,以及一些技巧,可以让你加速成为一个优秀的程序员。 对于Python程序员,你需要注意一下本文所提到的这些事情。 你也可以看看Zen of Python(Pytho...

justjavac
2012/07/27
0
2
Python程序员专栏欢迎您的投稿

1、关于投稿 关注我们Python程序员知乎专栏:https://zhuanlan.zhihu.com/pythoncxy 的小伙伴已经快2w人啦,很感谢大家对我们的支持!我们专栏现在欢迎各位写Python文章的作者投稿,只要你玩...

Python爱好者社区
06/12
0
0
RHEL7 Install Python3 and pip3

方式一:yum安装python3 and pip3 添加EPEL源 RHEL7官方源里并没有python3,所以要配置下第三方源,目前EPEL仓库里最高版本只有python3.4.3,想要体验python3.5只能源码安装了,请看方法二...

lalamina
2016/04/22
709
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

利用 acme.sh 获取网站证书并配置https访问

acme.sh 实现了 acme 协议, 可以从 letsencrypt 生成免费的证书.(https://github.com/Neilpang/acme.sh/wiki/%E8%AF%B4%E6%98%8E) 主要步骤: 安装 acme.sh 生成证书 copy 证书到 nginx/ap...

haoyuehong
15分钟前
2
0
微擎框架内如何根据media_id获取到微信图片的路径

微擎的框架内,图片选择后,获取的是那个字符串是media_id,相当于你这张图片在微信的图片服务器里面的id 要求是:获取https://mmbiz.qpic.cn/mmbiz_jpg/…… 微信图片的路径 而微信并没有根据m...

老bia同学
19分钟前
1
0
Spring boot中日期的json格式化

Model 在model层中,类的日期属性上面添加如下注解: @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd hh:mm:ss") 参考 Jackson Date格式化教程...

亚林瓜子
20分钟前
2
0
Eclipse:Failed to load the JNI shared library

1.问题背景: 由于我之前使用jdk1.9学习,当使用Luke的时候发现jdk版本过高,需要向下配置jdk,就向朋友拷了一个安装包。重新配置路径后,便开始报错。 2.问题描述: Failed to load the JNI...

tinder_boy
23分钟前
0
0
少儿学习编程课程是否真的适合七八岁的低龄儿童[图]

少儿学习编程课程是否真的适合七八岁的低龄儿童[图]: 天下熙熙皆为利来,天下攘攘皆为利往。 这几年来,乐高教育机构在国内如同雨后春笋般出现,当然关闭/转手的也很多。从教师角度来看,部...

原创小博客
28分钟前
1
0
ES12-词项查询

1.词项查询介绍 全文查询将在执行之前分析查询字符串,但词项级别查询将按照存储在倒排索引中的词项进行精确操作。这些查询通常用于数字,日期和枚举等结构化数据,而不是全文本字段。 或者,...

贾峰uk
36分钟前
2
0
http状态码与ajax的状态值

ajax状态值 1.1 200 & OK:状态请求成功

litCabbage
39分钟前
1
0
iOS动画效果合集、飞吧企鹅游戏、换肤方案、画板、文字效果等源码

iOS精选源码 动画知识运用及常见动画效果收集 3D卡片拖拽卡片叠加卡片 iFIERO - FLYING PENGUIN 飞吧企鹅SpriteKit游戏(源码) Swift封装的空数据提醒界面EmptyView 沙盒文件浏览与分享调试控...

sunnyaigd
43分钟前
2
0
AngularJS配置.run()块中设置路由事件的监听器以及过滤未经授权的请求

AngularJS中的run方法初始化全局数据,只对全局作用域起作用,如$rootScope.多个控制器之间可以共享数据,如下代码所示: <script type="text/javascript"> var m1 = angular....

孟飞阳
43分钟前
3
0
Java语言学习(十):输入/输出

Java中,I/O操作代表着输入、输出,Java所有的I/O机制都是基于数据流进行输入输出。java.io类包提供了很多的输入输出处理功能方法,大家可以参考下JDK文档中关于I/O的一些处理方法:JDK在线中...

海岸线的曙光
52分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部