Python之禅 The Zen of Python

本文介绍了Python之禅(The Zen of Python),这是Python文化中非常重要的一部分,它由Tim Peters编写,阐述了Python的设计哲学与编程规范。文章包含Python之禅的原文及其翻译,并附带了一段晦涩的代码作为反例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

无论Python初学、进阶都略知Python心法一二;Python高手 、大师 一般都各种途径修习心法 熟烂于心。

所谓心法 就是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
优美胜于丑陋
明了胜于晦涩
简洁胜于复合
复合胜于复杂
扁平胜于嵌套
分散胜于密集
可读性很重要
再特殊的情况,都不要违背规则
决不放过异常,除非确定这样做
面对模棱两可,不要尝试去猜测
尽量找一种,最好是唯一一种明确的解决方法
即使这种方法起初并不明确,除非你是荷兰人
现在开始胜过永不行动
然而仓促动手不如不做
如果实现方案很难解释,那就是个坏思路
如果实现方案容易解释,可能是个好思路
命名空间是个绝妙理念,我们应多加利用


注:Python的作者Guido是荷兰人


下面是this.py的源码  哈哈 晦涩难懂 故意复杂  可能是给The Zen of Python 做个反面案例 以供参考

s = """Gur Mra bs Clguba, ol Gvz Crgref

Ornhgvshy vf orggre guna htyl.
Rkcyvpvg vf orggre guna vzcyvpvg.
Fvzcyr vf orggre guna pbzcyrk.
Pbzcyrk vf orggre guna pbzcyvpngrq.
Syng vf orggre guna arfgrq.
Fcnefr vf orggre guna qrafr.
Ernqnovyvgl pbhagf.
Fcrpvny pnfrf nera'g fcrpvny rabhtu gb oernx gur ehyrf.
Nygubhtu cenpgvpnyvgl orngf chevgl.
Reebef fubhyq arire cnff fvyragyl.
Hayrff rkcyvpvgyl fvyraprq.
Va gur snpr bs nzovthvgl, ershfr gur grzcgngvba gb thrff.
Gurer fubhyq or bar-- naq cersrenoyl bayl bar --boivbhf jnl gb qb vg.
Nygubhtu gung jnl znl abg or boivbhf ng svefg hayrff lbh'er Qhgpu.
Abj vf orggre guna arire.
Nygubhtu arire vf bsgra orggre guna *evtug* abj.
Vs gur vzcyrzragngvba vf uneq gb rkcynva, vg'f n onq vqrn.
Vs gur vzcyrzragngvba vf rnfl gb rkcynva, vg znl or n tbbq vqrn.
Anzrfcnprf ner bar ubaxvat terng vqrn -- yrg'f qb zber bs gubfr!"""

d = {}
for c in (65, 97):
    for i in range(26):
        d[chr(i+c)] = chr((i+13) % 26 + c)

print("".join([d.get(c, c) for c in s]))




PythonThe Zen of Python)是由Tim Peters编写的一组指导原则,用于帮助程序员更好地理解Python设计哲学,并写出更优雅、简洁和易于维护的代码。 你可以通过运行以下Python代码来显示它: ```python import this ``` 以下是《Python》的内容及其简体中文翻译: 英文原文: 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语言的设计者Guido van Rossum) 现在就做总好过不做。 虽然有时晚点做好过立马行动。 如果实现很难解释清楚,那肯定不是一个好主意。 若能轻松解释,则可能是不错的创意。 命名空间是个绝妙的想法 —— 让我们再多造些吧!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值