El Zen de Python

2/21
Recursos

Aportes 118

Preguntas 9

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesi贸n.

El Zen de Python se compone por los principios para escribir tu c贸digo de manera clara, sencilla y precisa. Estos son:

  • Bello es mejor que feo:
    Pyhton es est茅ticamente superior a cualquier otro lenguaje de programaci贸n. Al momento de escribir c贸digo, es mejor que sea de manera limpia y est茅tica.
  • Expl铆cito es mejor que impl铆cito:
    Hacer m谩s f谩cil que las otras personas entiendan el c贸digo.
  • Simple es mejor que complejo:
    Es mejor tener una implementaci贸n simple, que ocupe pocas lineas de c贸digo y sea entendible, a que sea una larga y complicada.
  • Complejo es mejor que complicado:
    Si tenemos que extendernos en la implementaci贸n y hacerla m谩s compleja para que el c贸digo si se entienda, esto es mejor que hacerlo simple y mal.
  • Plano es mejor que anidado:
    El anidamiento es cuando tenemos un bloque de c贸digo dentro de otro bloque de c贸digo (dependiendo de este). Esto se nota en Python por la identaci贸n, nos quedar铆an estos bloques muy corridos a la derecha.
    Es mejor evitar el anidamiento, y hacer las cosas de manera plana.
  • Espaciado es mejor que denso:
    Por la identaci贸n de Python (sus sangr铆as), este principio se nos hace imposible de esquivar. El c贸digo inevitablemente es espaciado.
  • La legibilidad es importante:
    Es importante que otros programadores puedan entender lo que estamos escribiendo. Esto hace m谩s f谩ciles las cosas cuando trabajemos con otros en los proyectos.
  • Los casos especiales no son lo suficientemente especiales cpmo para romper las reglas (sin embargo, la practicidad le gana a la pureza):
    Siempre que podamos respetar estas reglas que nos plantea Python, es mejor as铆. Sin embargo, si por el hecho de hacer un c贸digo muy puro o muy 鈥楶ythonista鈥, este pierde legibilidad, es mejor ser m谩s pr谩cticos y romper o saltearnos algunas de estas reglas para que el c贸digo sea m谩s eficiente. Por lo tanto, llegado el momento debermos decidir si es mejor hacer las cosas de manera pura o pr谩ctica.
  • Los errores nunca deber铆an pasar silenciosamente (a menos que se silencien expl铆citamente):
    Manejar los erroes es fundamental. Cada error nos dice algo y hay que prestarle atenci贸n. A menos que seas capaz de silenciar un error expl铆citamente, aunque para esto hay que tener criterio.
  • Frente a la ambiguedad, evitar la tentaci贸n de adivinar:
    Nuestro c贸digo deber铆a solamente tener una interpretaci贸n. Si en un contexto significa algo, y en otro otra cosa, es mejor que lo revisemos y busquemos una soluci贸n.
  • Deber铆a haber una, y preferiblemente sola, una manera obvia de hacerlo. (A pesar de que esa manera no sea obvia a menos que seas holand茅s):
    Esto hace referencia al creador de Python ''Guido van Rossum", que de manera muy inteligente encontrar las soluciones precisas a los problemas, y deber铆amos imitarlo.
  • Ahora es mejor que nunca:
    Es mejor desarrollar nuestra soluci贸n cu谩nto antes, no dejarlo para ma帽ana o para mas adelante.
  • A pesar de que nunca es muchas veces mejor que ahora mismo:
    Si por hacer las cosas ya y tenemos poco tiempo, si es mejor dejarlo para despu茅s y no hacerlo apurado y mal.
  • Si la implementaci贸n es d铆ficil de explicar, es una mala idea, y si es f谩cil de explicar, es una buena idea:
    Si somos capaces de explicar nuestra implementaci贸n a otros desarrolladores paso a paso, es una buena idea. En cambio si no podemos hacerlo, significa que ni nosotros entendemos la implementaci贸n y deber铆amos repensar nuestra forma de encarar la soluci贸n.
  • **Los espacios de nombres son una gran idea, 隆Tengamos m谩s de esos! (namespaces):
    Es el nombre que se ha indicado luego de la palabra import, es decir la ruta (namespace) del m贸dulo. (Lo veremos a profundidad m谩s adelante).

Hice un peque帽o sitio web que b谩sicamente es un test para que repasen el Zen de Python, es solo con motivos de aprendizaje, para que puedan tener m谩s en claro el Zen de Python cuando trabajen con 茅l, no es necesario aprenderselo de memoria, pero ayuda tenerlo claro 馃槃.
.
Lo hice con Vue, solo tiene 15 preguntas as铆 que si quieren darle un vitazo, aqu铆 les dejo el link:
.
El Zen del Python
.
Por cierto, es Open Source, pueden clonar o hacer fork del repositorio por si gustan 馃槃
.
RetaxMaster/python-zen
.

El Zen de Python 馃馃徏鈥嶁檪锔

Una excelente filosof铆a que les comparto en una imagen para llevar 馃槃

El zen de python, son un conjunto de consejos para llegar a subir de nivel y convertirte en un profesional programando con este lenguaje para ello te comparto su zen鈾

El Zen de python son los principios de este lenguaje

  • Bello es mejor que feo.
  • Expl铆cito es mejor que impl铆cito.
  • Simple es mejor que complejo.
  • Complejo es mejor que complicado.
  • Plano es mejor que anidado.
  • Espaciado es mejor que denso.
  • La legibilidad es importante.
  • Los casos especiales no son lo suficientemente especiales como para romper las reglas.
  • Sin embargo la practicidad le gana a la pureza.
  • Los errores nunca deber铆an pasar silenciosamente.
  • A menos que se silencien expl铆citamente.
  • Frente a la ambig眉edad, evitar la tentaci贸n de adivinar.
  • Deber铆a haber una, y preferiblemente solo una, manera obvia de hacerlo.
  • A pesar de que esa manera no sea obvia a menos que seas Holand茅s.
  • Ahora es mejor que nunca.
  • A pesar de que nunca es muchas veces mejor que ahora mismo.
  • Si la implementaci贸n es dif铆cil de explicar, es una mala idea.
  • Si la implementaci贸n es f谩cil de explicar, puede que sea una buena idea.
  • Los espacios de nombres son una gran idea, 隆tengamos m谩s de esos!

Para ver el Zen de Python lo podemos ver desde la consola cuando importamos el m贸dulo this

>>> import this 

Tambi茅n existen otros m贸dulos secretos 馃憖

>>> import antigravity
>>> import __hello__
Hello world!

Quer铆a mostrarles python vs otros lenguajes鈥
En serio python hace la vida m谩s f谩cil

Genial!
![](

Es interesante que el zen de Python sean los 20 principios m谩s importantes, pero que en realidad sean 19 馃槃 Esto, seg煤n estuve investigando se puede deber a dos casos:

  1. Seg煤n algunas personas Guido ha dicho que fue un joke por parte de Tim.
  2. Otras discusiones dicen que tambi茅n puede que haya sido la forma de Tim de permitir que el desarrollador a帽adiera un principio propio.

Sea cual sea la raz贸n real, si es una de estas dos, es espectacular la respuesta. 馃槂

  1. Lo bello es mejor que lo feo.
  2. Expl铆cito es mejor que impl铆cito.
  3. Lo simple es mejor que lo complejo.
  4. Complejo es mejor que complicado.
  5. Plano es mejor que anidado.
  6. Es mejor escaso que denso.
  7. La legibilidad cuenta.
  8. Los casos especiales no son lo suficientemente especiales como para romper las reglas.
  9. Aunque la practicidad vence a la pureza.
  10. Los errores nunca deben pasar silenciosamente.
  11. A menos que est茅 expl铆citamente silenciado.
  12. Ante la ambig眉edad, rechace la tentaci贸n de adivinar.
  13. Debe haber una, y preferiblemente solo una, forma obvia de hacerlo.
  14. Aunque esa forma puede no ser obvia al principio a menos que seas holand茅s.
  15. Ahora es mejor que nunca.
  16. Aunque a menudo nunca es mejor que * ahora mismo *.
  17. Si la implementaci贸n es dif铆cil de explicar, es una mala idea.
  18. Si la implementaci贸n es f谩cil de explicar, puede ser una buena idea.
  19. Los espacios de nombres son una gran idea, 隆hagamos m谩s!

El zen de Python
Fue escrito por Tim Peters con 鈥20鈥 aforismos que nos marcan las pautas para escribir un c贸digo pyton铆stico (claro, sencillo y preciso)

El Zen de python:

  1. Bello es mejor que feo.
  2. Expl铆cito es mejor que impl铆cito.
  3. Simple es mejor que complejo.
  4. Complejo es mejor que complicado.
  5. Plano es mejor que anidado.
  6. Espaciado es mejor que denso.
  7. La legibilidad es importante.
  8. Los casos especiales no son lo suficientemente especiales como para romper las reglas.
  9. Sin embargo la practicidad le gana a la pureza.
  10. Los errores nunca deber铆an pasar silenciosamente.
  11. A menos que se silencien expl铆citamente.
  12. Frente a la ambig眉edad, evitar la tentaci贸n de adivinar.
  13. Deber铆a haber una, y preferiblemente solo una, manera obvia de hacerlo.
  14. A pesar de que esa manera no sea obvia a menos que seas Holand茅s.
  15. Ahora es mejor que nunca.
  16. A pesar de que nunca es muchas veces mejor que ahora mismo.
  17. Si la implementaci贸n es dif铆cil de explicar, es una mala idea.
  18. Si la implementaci贸n es f谩cil de explicar, puede que sea una buena idea.
  19. Los espacios de nombres son una gran idea, 隆tengamos m谩s de esos!
    鈥 conoces el aforismo 20 del Zen de Python?

Al igual que cada arquitecto/a impregna sus creaciones con su propia visi贸n y personalidad, o la cocina de cada chef suele tener una esencia 煤nica, cada desarrollador/a escribe c贸digo seg煤n sus gustos, por lo que el c贸digo de diferentes desarrolladores/as suele ser muy heterog茅neo (diferente).

Pero y 驴si se tuvieran unas directrices a seguir, que ayudaran a discernir de qu茅 forma hay que escribir en cada lenguaje? 驴no ser铆a mucho m谩s simple tener una forma, y solo una forma, de escribir c贸digo? con esta motivaci贸n se defini贸 la PEP 20 o el Zen de Python.

Un curso de Python con Python 3.9.1鈥e帽or has escuchado mis plegarias馃槃

De verdad que Facundo es incre铆ble con esto del Zen de Python

Special cases aren't special enough to break the rules.(Los casos espciales, no son los suficente especiales para romper las reglas), Osea que no podemos romper as铆 como por capricho las correctas pr谩cticas para usar Python.

El zen de python 馃槂

M谩s claro imposible. A seguir en modo Zen Python

Python 3.8.3 (tags/v3.8.3:6f8c832, May 13 2020, 22:37:02) [MSC v.1924 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> 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!

El ZEN de python son los principios fundamentales para poder escribir nuestro c贸digo de manera clara, precisa y sencilla 馃槃

Notas 馃槃
El Zen de Python.

  • Fueron creados hace 20 a帽os, por uno de los cofundadores de Python 馃悕.
  • 驴Qu茅 es? Son los 20 principios de software que tiene Python para escribir nuestro c贸digo de manera correcta y precisa. 馃槃
  • Para ver los 20 principios, hacemos import this. La lista completa:
    1. Beautiful is better than ugly.
    2. Explicit is better than implicit.
    3. Simple is better than complex.
    4. Complex is better than complicated.
    5. Flat is better than nested.
    6. Sparse is better than dense.
    7. Readability counts.
    8. Special cases aren鈥檛 special enough to break the rules.
    9. Although practicality beats purity.
    10. Errors should never pass silently.
    11. Unless explicitly silenced.
    12. In the face of ambiguity, refuse the temptation to guess.
    13. There should be one-- and preferably only one --obvious way to do it.
    14. Although that way may not be obvious at first unless you鈥檙e Dutch.
    15. Now is better than never.
    16. Although never is often better than right now.
    17. If the implementation is hard to explain, it鈥檚 a bad idea.
    18. If the implementation is easy to explain, it may be a good idea.
    19. Namespaces are one honking great idea 鈥 let鈥檚 do more of those!

The Zen of 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鈥檛 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鈥檙e Dutch.

  • Now is better than never.

  • Although never is often better than right now.

  • If the implementation is hard to explain, it鈥檚 a bad idea.

  • If the implementation is easy to explain, it may be a good idea.

  • Namespaces are one honking great idea 鈥 let鈥檚 do more of those!

Qu茅 es el Zen de python?

  • Son esos 20 principios de software para desarrollar codigo, que van a permitir el entendimiento del mismo al momento de ser leidos por otras persoas.
    C贸mo abrir el zen de python?
  • Import this鈥> en la interfaz de py
    IMPORTANTE
  1. Bello es mejor que feo
  2. Explicito es mejor que implicito
  3. simple es mejor que complejo
  4. plano es mejor que anidado
  5. los errores no deberian pasar silenciosamente
  6. espaciado es mejor que denso
  7. la legibilidad es importante

Les dejo un art铆culo que hice en el blog de Python Barranquilla sobre el Zen de Python.
Cualquier sugerencia o comentario es bien agradecida
https://pybaq.co/blog/el-zen-de-python-explicado/

No conoc铆a el Zen de Python, lo que hab铆a aprendido sobre estilo y estructura fue a trav茅s de PEP pero que bonito es encontrar algo que te explique c贸mo deber铆as escribir buen c贸digo en unas cuantas l铆neas de texto. Como dicen, m谩s claro ni el agua.

Strike first, strike hard, no mercy! #CobraKai

馃悕 El Zen de Python nos permitir谩 escribir c贸digo de manera clara, precisa y sencilla.

Explicit is better than implicit (Expl铆cito es mejor que impl铆cito), Debido a que es buena pr谩ctica empezar a escribir un poco m谩s, para la buena creaci贸n y explicaci贸n de nuestro c贸digo que simplemente dejar las cosas amb铆g眉as

Existe un lenguaje de programaci贸n que es a煤n m谩s bello que Python, Julia. Es una mezcla de Python pero con Numpy y Scipy de origen.

Son los 19 principios que tiene este lenguaje de programaci贸n poder escribir de manera precisa.

Para usar Python, en la CMD de Windows debemos escribir py , pero en un entorno tipo Linux, es python3

Para ver el zen de python usamos import this. This es un m贸dulo oculto y secreto.

  1. Bello es mejor que feo -> Python tiene la sintax铆s m谩s simple.
  2. Expl铆cito es mejor que impl铆cito -> Siempre que podamos expresarnos en c贸digo para que el mismo se entienda mejor, vamos a hacerlo as铆.
  3. Simple es mejor que complejo -> Si podemos resolver un problema en menos l铆neas de c贸digo y se entiende mejor, vamos por ese camino.
  4. Complejo es mejor que complicado -> Si es necesario hacer las cosas complejas pero bien hechas, es mejor ese camino.
  5. Plano es mejor que anidado -> Si tenemos muchos bloques de c贸digo, uno dentro de otro, la indentaci贸n ser谩 muy grande, esto lo debemos evitar.
  6. Espaciado es mejor que denso -> Python nos obliga a hacer esto.
  7. La legibilidad es importante -> Si podemos escribir c贸digo que se entienda mejor y que otras personas lo puedan entender, vamos por el buen camino.
  8. Los casos especiales no son lo suficientemente especiales para romper las reglas -> Siempre que podamos respetar las reglas de Python, es mejor que lo hagamos as铆.
  9. Sin embargo la practicidad le gana a la pureza -> Hay que tener un equilibro entre esta regla y la #8.
  10. Los errores nunca deber铆an pasar silenciosamente -> Todo programador debe saber manejar errores
  11. A menos que se silencien expl铆citamente -> Podemos hacer que los errores se silencien pero con consciencia.
  12. Frente a la ambig眉edad, evitar la tentaci贸n de adivinar -> Nuestro c贸digo debe tener solamente 1 interpretaci贸n.
  13. Deber铆a haber una, y preferiblemente solo una, manera obvia de hacerlo.
  14. a pesar de que esa manera no sea obvia a menos que seas holand茅s (chiste del creador).
  15. Ahora es mejor que nunca -> Si encontramos la soluci贸n hoy, no la dejes para ma帽ana.
  16. A pesar de que nunca es muchas veces mejorq que ahora mismo -> Si tenemos prisa, podemos hacer un mal c贸digo, es mejor dejarlo para despu茅s.
  17. Si la implementaci贸n es dif铆cil de explicar, es una mala idea. -> Si no podemos explicar nuestra idea, ni siquiera nostros mismos la entendemos.
  18. Si la implementaci贸n es f谩cil de explicar, puede que sea una buena idea.
  19. Los espacios de nombres son una gran idea, 隆tengamos m谩s de esos! -> Tema avanzado de 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鈥檛 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鈥檙e Dutch.
Now is better than never.
Although never is often better than right now.
If the implementation is hard to explain, it鈥檚 a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea 鈥 let鈥檚 do more of those!

The Zen of 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鈥檛 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鈥檙e Dutch.
Now is better than never.
Although never is often better than right now.
If the implementation is hard to explain, it鈥檚 a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea 鈥 let鈥檚 do more of those!
Easter Egg

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鈥檛 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鈥檙e Dutch.
Now is better than never.
Although never is often better than right now.
If the implementation is hard to explain, it鈥檚 a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea 鈥 let鈥檚 do more of those!

Hoy debo presentar avances de un proyecto al due帽o de la empresa. Si no hubiese visto ese v铆deo, creo que no habr铆a analizado como he hecho el c贸digo de tal proyecto. Por fortuna, he llevado buenas pr谩cticas y correg铆 algunas cosas. Definitivamente Python es m谩gico.

Comparto mis notas

<h3>El Zen de Python</h3>

Son los 20 principios de software mas imporantes que tiene Python para poder escribir nuestro codigo de la forma mas preciso. Tim Peters en 1999 fue el creador de este Zen. Se puede visualizar en el modo interactiva colocando import this, el cual es un modulo oculto.

  1. Beautiful is better than ugly.

    El lenguaje es esticamente superior a cualquier otro. Si vamos a escribir codigo es mejor que sea de manera estica.

  2. Explicit is better than implicit.

    Siempre que podamos extendernos para que otras personas puedan entender lo que estamos escribiendo, es mejor.

  3. Simple is better than complex.

    Si tenemos una implementacion que ocupa pocas lineas de codigo y es entendible, es mejor elegir esta para resolver un problema antes que una que es mas complicada.

  4. Complex is better than complicated.

    Si es necesario extenderse para que el programa se entienda, es mejor hacerlo complejo antes que simple pero complicado.

  5. Flat is better than nested.

    El anidamiento es un problema comun en los lenguajes, sucede cuando colocamos un bloque debajo de otro bloque, la indentacion se hace mas grande y cada vez el codigo se corre a la derecha. Esto se puede solucionar.

  6. Sparse is better than dense.

    Este principio es imposible de esquivar ya que Python obliga a tener una indentacion obligatoria antes de comenzar un bloque de codigo, equivalente a un TAB o 4 espacios.

  7. Readability counts.

    Que nosotros y otros desarralladores puedan entender lo que escribimos es fundamental, para que todo pueda ser colaborativo en el futuro.

  8. Special cases aren鈥檛 special enough to break the rules.

  9. Although practicality beats purity.

    Nos vamos a encontrar en ocasiones donde queremos quebrar las reglas esteticas que nos da Python para querer las cosas de forma diferente, siempre que podamos mantener el codigo ordenado se debe hacer. Se debe de tener un equilibrio entre si queremos hacer las cosas de manera practica o pura.

  10. Errors should never pass silently.

    Manejar los errores es un tema fundamental para poder ser un Ingeniero de Software.

  11. Unless explicitly silenced.

    Como programador se puede hacer que un error pase de largo y nuestro codigo siga funcionando. Si este no se hace con criterio o sentido comun

  12. In the face of ambiguity, refuse the temptation to guess.

    Si una pieza de codigo que en un contexto siginifica algo y en otro contexto significa otra cosa. Es mejor detenerse y analizar la solucion, porque nuestro codigo deberia tener una interpretacion.

  13. There should be one-- and preferably only one --obvious way to do it.

  14. Although that way may not be obvious at first unless you鈥檙e Dutch.

    Esto hace referencia al creador de Python, Guido Van Rossem, que lograba encontrar las soluciones de manera precisa.

  15. Now is better than never.

    Si podemos desarrollar la solucion que tenemos para un problema en este momento, es mejor hacerlo cuanto antes.

  16. Although never is often better than right now.

    Si por querer las cosas inmediatamente y tenemos poco tiempo, talvez si es mejor dejarlo para despues.

  17. If the implementation is hard to explain, it鈥檚 a bad idea.

  18. If the implementation is easy to explain, it may be a good idea.

    Si nosotros entendemos nuestro codigo, debemos ser capaces de expresarlo a otras personas y guiarlos paso a paso. Si no somos capaces de explicar los conceptos, significa que ni nosotros mismos lo entendemos.

  19. Namespaces are one honking great idea 鈥 let鈥檚 do more of those!

    Viene de namespaces鈥 馃敎

Principios del software
1999 - import this
M谩s lineas pero m谩s expl铆cito.
Los algoritnos simples son mejor que los complejos.
Hacer los algoritmos complejos para que no sean complicados.
No hacer anidaciones largas.
Hacerlo todo limpio.
Que todos puedan leer mi c贸digo.
La practicidad gana a la pureza.
Manejar los errores, blindar el c贸digo.
Nada es ambiguo.
Ahora es mejor que nunca.
La implementaci贸n deber谩 ser f谩cil de explicar.
Espaciado en los nombre.

El Zen de Python: Beautiful is better than ugly (Bello es mejor que feo), refiri茅ndose a la calidad est茅tica que tenemos con Python debido a su sintaxis tan simple.

Errors should never pass silently.(Los errores nunca deber铆an pasar silenciosamente) Ese tipo de casos en los que pones la basura debajo de la alfombra, nunca deber铆an pasar y si lo haces, al menos que no sea a escondidas, sino una desici贸n un谩nime

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. (Si la implementaci贸n es dif铆cil de explicar, es una mala idea, Si la implementaci贸n es f谩cil de explicar, es tal vez una buena idea) Mantenlo simple y recuerda que si no eres capaz de explicarlo, no lo entiendes del todo bien.

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鈥檛 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鈥檙e Dutch.
Now is better than never.
Although never is often better than right now.
If the implementation is hard to explain, it鈥檚 a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea 鈥 let鈥檚 do more of those!

Tener principios tan s贸lidos en un lenguaje de programaci贸n, hace que sea mas f谩cil programarlo y entenderlo, creo que hasta hoy python es un lenguaje s贸lido por estos principios.

no encontre mi antigua terminal, creo que la cambie por una que usa ubuntu en windows, pero me va bien para el curso je

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鈥檛 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鈥檙e Dutch.
Now is better than never.
Although never is often better than right now.
If the implementation is hard to explain, it鈥檚 a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea 鈥 let鈥檚 do more of those!

me gust贸 mucho 鈥渟imple es mejor que complejo鈥 y 鈥渟i la implementaci贸n es dif铆cil de explicar es mala idea鈥, creo que en toda 谩rea de la vida aplica: 鈥渟i no sabes explicar algo de forma sencilla, quiere decir que no lo entendiste lo bastante bien鈥 Albert Einstein.

Bello es mejor que feo.
explixito es mejor que implicito
simple es mejor que complejo.
complejo es mejor que complicado
plano es mejor que anidado
espaciado es mejor que denso
Legibilidad es importante.

Equilibiro entre practicidad y Legibilidad debe de estar presente en el c贸digo

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!

Aprender un programa no es solo escribir instrucciones, es saber hacerlo de una manera est茅tica. Que buena introducci贸n.

el zen de python por tim petters

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鈥檛 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鈥檙e Dutch.
Now is better than never.
Although never is often better than right now.
If the implementation is hard to explain, it鈥檚 a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea 鈥 let鈥檚 do more of those!

Explica ciertos veinte principios de software m谩s importantes de Python que nos ayuda a escribir nuestro c贸digo de manera evidente, sencilla y precisa. Creados por Tim Peters.鈥



Bello es mejor que feo

Muchas veces evitamos preocuparnos por el entendimiento de nuestro c贸digo; pero:

  • Crear con Python es crear preciso, limpio y legible c贸digo para todos

Expl铆cito es mejor que impl铆cito

Siempre que podamos, extender o detallar nuestro c贸digo volver谩 f谩cil la lectura de este

  • Debemos de evitar la ambig眉edad
  • Debemos de asegurar la claridad

Simple es mejor que complejo

Trata de optar por simplificar pero de manera entendible las l铆neas del c贸digo

  • Pero en esta pauta es imprescindible conocer el l铆mite de lo simple.

Complejo es mejor que complicado

La simplicidad en otros casos no es aplicada porque es necesario m谩s tecnicismo en estos

  • Complejo != ilegibilidad
  • Lo complejo puede ser sencillo aplic谩ndolo adecuadamente

Plano es mejor que anidado:

Un problema com煤n en programaci贸n es d贸nde un bloque de c贸digo es hijo de otro.

  • Esto deforma la est茅tica que nos provee Python en su identaci贸n
  • Hay t茅cnicas con la que podemos obviar la anidaci贸n de bloques

Espaciado es mejor que denso:

La sangr铆a o identaci贸n est谩 incluido en la manera de c贸mo Python trata el c贸digo

  • Siempre cuatro 4 o un tab antes de un bloque de c贸digo

La legibilidad es importante:

Que todos puedan entender el c贸digo que hemos escrito es fundamental:

  • Esto induce una mejor colaboraci贸n y desarrollo de un trabajo o proyecto

La practicidad le gana a la pureza

Los casos especiales son insuficientemente especiales para romper las reglas en Python

  • Siempre que podamos, debemos seguir la est茅tica pythonista, pero:

  • 驴Y s铆 esto interfiere en la legibilidad?

    Si esta pureza en el c贸digo interfiere en la legibilidad de este: debemos de optar por la practicidad.

Los errores nunca deber铆an pasar silenciosamente

Dominar el manejo de los errores es lo fundamental en nuestra trayectoria, pero:

  • Es una posibilidad en base a criterio com煤n silenciar ciertos errores que no interfieren en el avance del proyecto

Frente a la ambig眉edad, evitar la tentaci贸n de adivinar:

Si tenemos cierta l铆nea de c贸digo que logra significar distintas cosas, debemos:

  • Reformular su estructura l贸gica pues este tiene un solo significado inmutable.

Deber铆a haber una, y preferiblemente sola, una manera obvia de hacerlo

A pesar de que esa manera no sea obvia a menos que seas holand茅s.

  • Esta 煤ltima refiere al creador de Python (Guido van Rossum)
  • Nos indica si de ser posible, deber铆amos imitar su actitud ingeniosa

Ahora es mejor que nunca:

Si podemos resolver los problemas o obst谩culos en nuestro c贸digo:

  • No debemos de procrastinar tal resoluci贸n del problema.

A pesar de que nunca es muchas veces mejor que ahora mismo:

Si queremos resolver los problemas de c贸digo de forma r谩pida:

  • Es mejor procrastinar para obviar realizar un c贸digo defectuoso

Si la implementaci贸n es dif铆cil de explicar, es una mala idea, y si es f谩cil de explicar, es una buena idea:

  • Si podemos explicar a detalle nuestra implementaci贸n, es una buena idea.
  • Sino podemos hacerlo significa que ni nosotros entendemos la implementaci贸n

Los namespaces son una gran idea:

Son clave para evitar que los nombres de un m贸dulo o 谩mbito entren en conflicto con los nombres de otro.

  • Deben crearse solo para evitar conflictos de nombres y no para agregar una categorizaci贸n innecesaria
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!
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!

El tema de la documentaci贸n es extremadamente importante y es una gran parte de lo requerido en el software para mantener un ciclo de vida activo para este. Es muy com煤n cometer el error de no generar anotaciones precisas en el c贸digo y que para variar, haya mala documentaci贸n.

Considero darle mucha importancia al Zen de Python, ya que de esta manera logramos mantener su belleza, as铆 seamos principiantes 馃馃挌馃挭

genial facundo como profesor que es muy motivador

Previamente hab铆a le铆do este articulo

https://pythondiario.com/2018/06/el-zen-de-python.html

El Zen de Python es acorde al Zen de estas clases.

Algunos principios de El Zen de Python parecen principios
de vida, como 鈥淎lthough never is often better than right now.鈥

Es mejor ahora鈥:

Python Zen 鉂わ笍

La filosof铆a

Super interesante, siento que este curso va a estar de lujo!!!

Me encanto el Zen 馃槂

El Zen de Python es algo que debemos tener claro para todo tipo de lenguaje de programacion, no se imaginan la cantidad de gente que no conoce eso 馃槙

me gusto mucho la documentaci贸n, creo que ahora podre hacer c贸digo mas bonito y mas importante, mas legible

woooo, esto esta genial

Python es el mejor lenguaje del mundo. Su practicidad y sencillez lo hacen uno de los m谩s legibles, m谩s bonitos y m谩s f谩ciles de aprender.

Que sea esteticamente superior es, para mi, una opinion subjetiva.

Ese Zen de Python parece una lecci贸n de vida estilo Sr. Miyagi 馃

Algo curiosos que pienso es que, a pesar de llamarse 鈥淶en de python鈥, bien podr铆an aplicarse en cualquier otro aspecto del desarrollo de software.

I think I learned a lot of English today.
Here you are the Zen of Python, so can check it.

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鈥檛 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鈥檙e Dutch.

Now is better than never.
Although never is often better than right now.
If the implementation is hard to explain, it鈥檚 a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea 鈥 let鈥檚 do more of those!

Excelentes principios, en mi primer trabajo tuve que hacer arqueolog铆a de software para descifrar como operaba

lest be zen

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鈥檛 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鈥檙e Dutch.
Now is better than never.
Although never is often better than right now.
If the implementation is hard to explain, it鈥檚 a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea 鈥 let鈥檚 do more of those!

Me quedo con que es mejor hacer las cosas simples, practicas y bonitas que cosas rigidas y poco practicas

El Zen de Python:

  1. Beautiful is better than ugly.
    鈥> Bello es mejor que feo
  2. Explicit is better than implicit.
    鈥> Explicito es mejor que implicito
  3. Simple is better than complex.
    鈥> simple es mejor que complejo
  4. Complex is better than complicated.
    鈥> Complejo es mejor que complicado
  5. Flat is better than nested.
    鈥> Plano es mejor que anidado
  6. Sparse is better than dense.
    鈥> Espaciado es mejor que denso
  7. Readability counts.
    鈥> La legibilidad es importante
  8. Special cases aren鈥檛 special enough to break the rules.
    鈥> los casos especiales no son lo sufuente especiales como para romper las reglas
  9. Although practicality beats purity.
    鈥> Sin embargo la practicidad le gano a la pureza.
  10. Errors should never pass silently.
    鈥> Los errores nunca deber铆an pasar silenciosamente
  11. Unless explicitly silenced.
    鈥> a menos que se silencien explicitamente.
  12. In the face of ambiguity, refuse the temptation to guess.
    鈥> Fren te a la ambug眉edad, evitar la tentaci贸n de adivinar.
  13. There should be one-- and preferably only one --obvious way to do it.
    鈥> Deber铆a haber una y preferiblemente solo una manera obvia de hacerlo.
  14. Although that way may not be obvious at first unless you鈥檙e Dutch.
    鈥> A pesar de que esa manera no sea obvia a menos que seas holand茅s
  15. Now is better than never.
    鈥> Ahora es mejor que nunca
  16. Although never is often better than right now.
    鈥> A pesar de que nunca es mucha veces mejor que ahora mismo
  17. If the implementation is hard to explain, it鈥檚 a bad idea.
    鈥> Si la implementaci贸n es dificil de explicar es una mala idea.
  18. If the implementation is easy to explain, it may be a good idea.
    鈥> Si la implementaci贸n es facil de explicar, puede que sea buena idea.
  19. Namespaces are one honking great idea 鈥 let鈥檚 do more of those!
    鈥> Los espacios de nombres son una gran idea, 隆tengamos mas de eso!
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!

Cada d铆a se aprende m谩s!
#NuncaParesDeAprender馃挌

Me gusta el Zen de Python, creo que lo voy a usar algunos tambi茅n para mi d铆a a d铆a馃グ

Me tome mi rato tomando esta clase, te ayuda a armar el setup correcto en tu mente para programar

parecen los 20 mandamientos del lenguaje python

Entendido

Que genial!

muy bien iniciar a elevar de nivel, muchos temas veo que no domino al cien

Genial que da el curso Facundo.

Muy buenas frases y consejos.

El curso m谩s esperado por toda Latinoam茅rica unida

Buena clase!

Me encanta el tono espiritual que le pone a la clase 馃榿

Python's Zen

Nunca mejor explicado.

Otra:

EAFP: 鈥渋t鈥檚 easier to ask for forgiveness than permission鈥.

Although never is often better than *right* now.(Aunque nunca es casi siempre, mejor que ahora mismo) Si vas a hacer las cosas mal por el af谩n, mejor no hagas nada.

Readability counts.(La legibilidad cuenta, o es mportante) Tenemos que tener todo muy bien escrito para una buena compresi贸n del c贸digo.

import this

El principio 20 deber铆a de ser:
鈥淗acer c贸digo es f谩cil, pensar es dif铆cil鈥