Python 之禅
约 684 字大约 2 分钟
2025-11-23
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.(扁平优于嵌套——不要写很多层嵌套(if 套 if 套 for 套函数),应保持结构平铺直叙)
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.(除非你明确要吞掉错误——比如用 try-except 特意处理,不是偷偷忽略)
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.(虽然一开始不一定明显……除非你是荷兰人——调侃 Python 的作者 Guido van Rossum 是荷兰人)
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!(命名空间是一个伟大的主意——我们应该多用!——也就是不同模块之间不要互相污染变量)
版权所有
版权归属:mcenahle
