TheZenOfPythonExplained aqui
Essa á uma adaptação de um e-mail muito divertido que o Senra enviou para a lista pythonbrasil, respondendo à pergunta do Lucas, que queria saber o significado exato de cada frase do Zen. Com o tempo e o uso, o Zen vai se tornando mais claro. Segundo o Senra: "muita vezes o Zen é contraditório. Por isso Zen tem que ser vivenciado e experimentado, qualquer explicação será incompleta. Como dizem os taoístas: o verdadeiro Tao é aquele que não pode se enunciado. "
Beautiful is better than ugly.
1 2 .__add__(1)
ou
1 2+1
Explicit is better than implicit.
- ou
1 exponenciacao(base=2, expoente=3)
Simple is better than complex.
Complex is better than complicated.
ou
Flat is better than nested.
ou
Para facilitar a resposta (quem pensou que o primeiro era + organizadinho)...
1 x["contato"][1] ou x["cel"]
Sparse is better than dense.
Readability counts.
1 [i**2 for i in [j for j in range(10) if j%2==0]]
ou
sequencia = range(10) pares = [j for j in sequencia if j%2==0] [i**2 for i in pares] del sequencia, pares # vamos deixar a casa limpa!
Special cases aren't special enough to break the rules.
x = [ 4, 8, 15, 16, 23, "42" ] r = 0 for i in x: if isinstance(i, basestring): i = int(i) r += i
ou
Although practicality beats purity.
>>> x = [ 4, 8, 15, 16, 23, "42" ] >>> r = sum(int(i) for i in x) >>> r 108
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
1 + '1' Traceback (most recent call last): File "<stdin>", line 1, in ? TypeError: unsupported operand type(s) for +: 'int' and 'str'
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.
O Guido é holandês
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. ===
Pense três vezes antes de usar metaclasses
If the implementation is easy to explain, it may be a good idea.