python poweredOs principios de diseño de python son a claridade e sinxeleza do código. Sempre podemos ve-lo Zen de Python importando dende python o módulo this.

Éste é o Zen de Python:

xose@debian:~$ python -c “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!

Traducción libre:

Fermoso é mellor que feo.
Explícito é mellor que implícito.
Simple é mellor que complexo.
Complexo é mellor que compricado.
Plano é mellor que o xerarquizado.
Espallado é mellor que denso.
A lexibilidade importa.
Os casos especiais non son especiais dabondo para rompe-las regras.
Aínda que o práctico bate a pureza.
Os erros nunca deberían ocorrer silenciosamente.
A menos que sexan explícitamente silenciados.
Diante da ambigüidade, rechaza a tentación de adiviñar.
Debería haber un –e preferiblemente só un– xeito evidente de facelo.
Aínda que ese xeito poida non ser evidente ó primeiro a menos que sexas holandés.
Agora é mellor que nunca.
Aínda que nunca é a miúdo mellor que “agora mesmo”.
Se a implementación e difícil de explicar, é unha mala idea.
Se a implementación é fácil de explicar, poida que sexa unha boa idea.
Namespaces son unha gran idea — fagamos máis deles!

Para entende-lo, non só o hai que ler, hai que entender cómo funciona o módulo this. Contén catro variables, aínda que eu só vexo que importen dúas, igual é que aínda non acado a entender o Zen perfectamente :(:

  1. s: Unha cadea de texto codificada.
  2. d: Un diccionario para face-la decodificación.

Para decodificar a cadea só hai que cambiando tódolos caracteres da cadea polo seu valor no diciconario. Este texto codificado é o texto que se amosa cando se fai a importación do módulo. Algo así:

import this
for c in this.s:
    try:
        string += this.d[c]
    except KeyError:
        string += c
print string


3 Responses to “O Zen de python”

  1. 1 dAN

    Python? Errrr… Monty Python? 😀

  2. 2 xoseotero

    Non entendo o humor británico…

  1. 1 As parénteses en python at Cousas de xentiña

Categories

Calendario

Xullo 2006
M T W T F S S
« Xuñ   Ago »
 12
3456789
10111213141516
17181920212223
24252627282930
31  
3K2 theme by Hakan Aydin