`
varsoft
  • 浏览: 2503825 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

《Python之禅》的翻译和解释

阅读更多
《Python之禅》的翻译和解释
本文最初发表于恋花蝶的博客(http://blog.csdn.net/lanphaday),如蒙转载,敬请何留全文完整,并连本声明一起转载。
凡是用过 Python的人,基本上都知道在交互式解释器中输入 import this 就会显示 Tim Peters 的 The Zen of Python,但它那偈语般的语句有点令人费解,所以我想分享一下我对它的体会,顺带给出我的翻译。
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 以编写优美的代码为目标)
明了胜于晦涩(优美的代码应当是明了的,命名规范,风格相似)
简洁胜于复杂(优美的代码应当是简洁的,不要有复杂的内部实现)
复杂胜于凌乱(如果复杂不可避免,那代码间也不能有难懂的关系,要保持接口简洁)
扁平胜于嵌套(优美的代码应当是扁平的,不能有太多的嵌套)
间隔胜于紧凑(优美的代码有适当的间隔,不要奢望一行代码解决问题)
可读性很重要(优美的代码是可读的)
即便假借特例的实用性之名,也不可违背这些规则(这些规则至高无上)
不要包容所有错误,除非你确定需要这样做(精准地捕获异常,不写 except:pass 风格的代码)
当存在多种可能,不要尝试去猜测
而是尽量找一种,最好是唯一一种明显的解决方案(如果不确定,就用穷举法)
虽然这并不容易,因为你不是 Python 之父(这里的 Dutch 是指 Guido )
做也许好过不做,但不假思索就动手还不如不做(动手之前要细思量)
如果你无法向人描述你的方案,那肯定不是一个好方案;反之亦然(方案测评标准)
命名空间是一种绝妙的理念,我们应当多加利用(倡导与号召)
比较恶搞的是,其实 this 模块的代码完全违背了这些原则,为了方便你查看它的代码,我把它贴出来:
s="""GurMrabsClguba,olGvzCrgref

Ornhgvshyvforggregunahtyl.
Rkcyvpvgvforggregunavzcyvpvg.
Fvzcyrvforggregunapbzcyrk.
Pbzcyrkvforggregunapbzcyvpngrq.
Syngvforggregunaarfgrq.
Fcnefrvforggregunaqrafr.
Ernqnovyvglpbhagf.
Fcrpvnypnfrfnera'gfcrpvnyrabhtugboernxgurehyrf.
Nygubhtucenpgvpnyvglorngfchevgl.
Reebeffubhyqarirecnfffvyragyl.
Hayrffrkcyvpvgylfvyraprq.
Vagursnprbsnzovthvgl,ershfrgurgrzcgngvbagbthrff.
Gurerfubhyqorbar--naqcersrenoylbaylbar--boivbhfjnlgbqbvg.
Nygubhtugungjnlznlabgorboivbhfngsvefghayrfflbh'erQhgpu.
Abjvforggregunaarire.
Nygubhtuarirevfbsgraorggreguna*evtug*abj.
Vsgurvzcyrzragngvbavfuneqgbrkcynva,vg'fnonqvqrn.
Vsgurvzcyrzragngvbavfrnflgbrkcynva,vgznlorntbbqvqrn.
Anzrfcnprfnerbarubaxvatterngvqrn--yrg'fqbzberbsgubfr!
"""

d
={}
forcin(65,97):
foriinrange(26):
d[chr(i
+c)]=chr((i+13)%26+c)

print"".join([d.get(c,c)forcins])
这段晦涩、复杂、凌乱的代码,莫非是 Tim Peters 提供的反例?
分享到:
评论

相关推荐

    python离线翻译器.zip

    Python离线翻译器是一款基于Python开发的实用工具,它提供了英文到中文以及中文到英文的翻译功能,无需网络连接即可使用。这款翻译器的核心特点在于其离线特性,这意味着用户在没有WiFi或其他网络连接的情况下也能...

    Python之禅1

    Python之禅,由Python语言的设计者之一Tim Peters提出,是一系列关于Python编程风格和哲学的指导原则,旨在帮助程序员写出更优雅、可读性强且易于维护的代码。这些原则不仅适用于初学者,也是经验丰富的Python开发者...

    Python实战示例 翻译软件.zip

    Python实战翻译软件Python实战翻译软件Python实战翻译软件Python实战翻译软件Python实战翻译软件Python实战翻译软件Python实战翻译软件Python实战翻译软件Python实战翻译软件Python实战翻译软件Python实战翻译软件...

    Python之禅.py

    Python之禅.py

    python之禅.docx

    《Python之禅》是Python编程语言的核心哲学,由Tim Peters所提出,它为Python程序员提供了一套关于如何编写更优雅、更易于理解和维护的代码的指导原则。以下是对这些原则的详细解读: 1. **优美胜于丑陋**:Python...

    Python本地离线运行机器翻译代码示例 基于Hugging Face

    # Python本地离线运行机器翻译代码示例 基于Hugging Face 本项目演示了如何调用Hugging Face的大模型实现本地离线实现机器翻译,Python代码简洁易懂,方便上手,能够快速实现强大的离线翻译功能。 使用方法: 1. ...

    Python之禅.md

    python

    Python实现自动翻译

    3. **丰富的库支持**:Python拥有众多成熟的第三方库,能够极大地简化文档读取和翻译等工作。 #### 关键方法和技术 ##### 提取文档内容 不同的文档格式有不同的处理方式: - **TXT文档**:可以直接使用Python...

    16.神经网络机器翻译技术 python代码实现

    总的来说,神经网络机器翻译的Python实现涉及到深度学习框架的使用、序列到序列模型的构建、数据预处理、模型训练和解码策略的实现。通过这个过程,我们可以创建一个自定义的、能够处理特定语言对的翻译系统。对于...

    Python实时在线语音翻译系统源码.zip

    Python实时在线语音翻译系统简介: 本项目实现了一套快速有效的语音中英翻译系统,该系统可实现高精度的语音识别、高效双语翻译以及精准的语音合成,可应用于实时翻译场景。系统预先要求用户设置翻译模式,当用户...

    Python 用Python制作mini翻译器 Python源码

    Python 用Python制作mini翻译器 Python源码Python 用Python制作mini翻译器 Python源码Python 用Python制作mini翻译器 Python源码Python 用Python制作mini翻译器 Python源码Python 用Python制作mini翻译器 Python源码...

    Python-自动翻译论文pdf生成带翻译段落的文本文档txt

    自动翻译论文pdf生成带翻译段落的文本文档txt”提供了一种有效的方法,它利用了Python库pdfminer进行PDF解析,并通过某种翻译API(如Google Translate或DeepL)将内容翻译成所需的语言,最终生成带有原文和翻译的TXT...

    Python3.7.2中文文档-5.Python扩展和嵌入Python解释器

    在Python编程语言中,扩展和嵌入Python解释器是两个重要的概念,特别是在开发涉及C/C++和其他低级语言与Python交互的应用时。Python3.7.2中文文档提供了关于这两个主题的详细指导,帮助开发者更好地理解和利用Python...

    Python 实例 - 翻译软件 Python源码

    Python 实例 - 翻译软件 Python源码Python 实例 - 翻译软件 Python源码Python 实例 - 翻译软件 Python源码Python 实例 - 翻译软件 Python源码Python 实例 - 翻译软件 Python源码Python 实例 - 翻译软件 Python源码...

    python写的翻译脚本(google翻译)

    利用google的翻译做的一个命令行python脚本. 用来学习httplib模块的

    Python-翻译PDF英文通过Python调取第三方库及接口进行翻译PDF文件

    在IT行业中,Python是一种广泛应用的编程语言...总之,这个项目涉及到了Python的PDF处理、网络请求以及API调用等多个技术点,通过学习和实践,不仅可以提升Python技能,还能对文档处理和自动化工作流程有更深入的理解。

    python内置函数翻译参考中文文档.pdf

    常见python内置函数已经将英文版翻译成中文版本,并配有实例参考,内容简单清晰明了,是初学者的好助手,使用时随时备查。

    Python-Python英文翻译成中文文档集合

    Python是世界上最受欢迎的编程语言之一,以其简洁明了的语法和强大的功能著称。这个压缩包文件名为"python-doc-master",显然包含了Python官方文档的中文翻译版本,这对于初学者和经验丰富的开发者来说都是极其宝贵...

    Python英文字幕截屏弹窗式翻译器

    "Python英文字幕截屏弹窗式翻译器"是一个利用Python编程语言设计的应用,它结合了图像处理和在线翻译功能,旨在帮助用户快速获取屏幕上选定文字的翻译。这个应用尤其适合那些需要频繁翻译屏幕上的英文内容,如字幕、...

Global site tag (gtag.js) - Google Analytics