Les 20 principes de Python Zen expliqués avec des exemples

Table des matières

Résumez avec :

El Zen de Python (también llamado PEP 20) son un conjunto de principios breves y sencillos que definen el diseño y la funcionalidad de Python como lenguaje de programación. Estos 20 principios encierran en sí mismos una filosofía de programación y de trabajo que se gestó en la cabeza de Tim Peters, un desarrollador de software que contribuyó enormemente al que hoy día es uno de los lenguajes de programación más versátiles y utilizados.

Con Python podemos hacer muchas cosas: analizar datos, crear un sistema de inteligencia artificial, desarrollar un sitio web, programar un software, y mucho más. Pero el Zen de Python no trata de las potencialidades de Python, sino de los fundamentos que lo subyacen independientemente de su aplicación.

¿Cómo ver el Zen de Python?

Para visualizar el Zen de Python, puedes utilizar el siguiente comando en una consola interactiva de Python:

# Zen de Python

import this

Este comando imprimirá una lista de principios que guían el diseño del lenguaje Python, conocidos como el Zen de Python. Si prefieres hacerlo desde un script de Python, simplemente incluye la misma línea en tu código y ejecútalo.

Aquí tienes un ejemplo de cómo se vería:

# script.py

import this

Al ejecutar el script (python script.py), verás el Zen de Python en la salida de la consola.

Los 19 principios del Zen de Python con ejemplos

Te explicamos brevemente el significado de cada uno de los principios del Zen de Python y te ponemos un pequeño ejemplo aclaratorio: 

Bello es mejor que feo

El código debe ser estéticamente agradable y fácil de leer.

# Código feo

x= [1,2,3]
y = [4, 5,6] z=x+y

# Código hermoso

lista_1 = [1, 2, 3]
lista_2 = [4, 5, 6]
lista_comb = lista_1 + lista_2

Explícito es mejor que implícito

Las decisiones en el código deben ser claras y evidentes.

# Implícito

from math import *

# Explícito

from math import sqrt, sin, cos

Simple es mejor que complejo

Prefiere soluciones simples a las complicadas.

# Complejo

def suma(a, b): return a + b

# Simple

def suma(a, b):
return a + b

Complejo es mejor que complicado

Si la solución necesita ser compleja, que no sea complicada innecesariamente.

# Complicado

def factorial(n):
if n == 0:
return 1
d'autre part :
return n * factorial(n – 1)

# Complejo pero claro

def factorial(n):
resultado = 1
for i in range(1, n + 1):
resultado *= i
return resultado

Plano es mejor que anidado

Evita demasiados niveles de anidamiento.

# Anidado

for i in range(3):
for j in range(3):
print(i, j)

# Plano

for i in range(3):
print(i, 0)
print(i, 1)
print(i, 2)

Disperso es mejor que denso

Prefiere código que no esté apiñado, con suficiente espacio para ser legible.

# Denso

a=1;b=2;c=3

# Plano

a = 1
b = 2
c = 3

La legibilidad cuenta

Es crucial que el código sea fácil de leer y entender.

# Menos legible

def f(x): return x**2 + 2*x + 1

# Más legible

def cuadrado_mas_doble(x):
return x**2 + 2*x + 1

Los casos especiales no son tan especiales como para romper reglas

No modifiques los principios del Zen de Python por casos excepcionales.

# Caso especial que rompe la regla

if x == 1: print(«Uno»)
d'autre part :
if x == 2:
print(«Dos»)

# Sigue la regla

if x == 1:
print(«Uno»)
elif x == 2:
print(«Dos»)

Aunque lo práctico gana a lo puro

En caso de conflicto, opta por soluciones prácticas en lugar de teóricas.

# Puro pero poco práctico

def buscar_elemento(lista, elemento):
if elemento in lista:
return True
return False

# Práctico

def buscar_elemento(lista, elemento):
return elemento in lista

Los errores nunca deberían dejarse pasar silenciosamente

Deben solventarse los errores lo antes posible y de forma eficiente

# Error

try:
x = 1 / 0
except:
pass
return False

# Manejo de errores

try:
x = 1 / 0
except
ZeroDivisionError:
print(«No se puede dividir por cero.»)

A menos que hayan sido silenciados explícitamente

Si decides ignorar errores, hazlo de forma clara y justificada.

#Error

try:
x = 1 / 0
except ZeroDivisionError:
pass # Error conocido y manejado de forma explícita

Frente a la ambigüedad, no intentes adivinar

Evita suposiciones en el código; sé claro y explícito.

#Ambiguo

def procesar(datos):
# ¿Qué hace esta función? pass

# Claro

def procesar_lista_de_numeros(lista_de_numeros):
# Procesa la lista de números sumándolos
return sum(lista_de_numeros)

Debería haber una sola manera de hacerlo

Para cualquier tarea, debería haber una manera clara y preferida de hacerlo.

# Manera alternativa

a = len([1, 2, 3])
b = [1, 2, 3].__len__()

# Una manera obvia

a = len([1, 2, 3])

Aunque esa manera puede no parecer obvia al principio

Algunas soluciones pueden no ser evidentes para todos, pero siguen siendo las preferidas.

Ahora es mejor que nunca

Es mejor hacer algo ahora que posponerlo indefinidamente.

Aunque es mejor no ir con prisas

A veces es mejor no hacer algo apresuradamente, pues podríamos meternos en un embrollo todavía más profundo.

Si es difícil de explicar, es mala idea

Si no puedes explicar fácilmente cómo funciona tu código, probablemente sea una mala solución.

Si es fácil de explicar, puede que sí sea buena idea

Si puedes explicar claramente tu código, es probable que sea una buena solución (¡pero no siempre!).

Los namespaces son una gran idea

Usa namespaces para organizar mejor todo el código y estructurarlo con claridad.

# Sin espacio de nombres

valor = 1

# Con espacio de nombres

class MiClase:
valor = 1

¿Cuál es el principio 20 del Zen de Python?

Nadie sabe cuál es el vigésimo principio del Zen de Python, puesto que nadie lo ha escrito todavía. Si bien se dice que son 20 principios, solo se conocen 19. El último, escríbelo tú.

Partager en :

Articles connexes

Savez-vous comment utiliser Siri : le ChatGPT pour iPhone ?

ChatGPT et Intelligence Artificielle Cours en ligne AI with Chatbots and Copilot Cours en ligne en Prompt Engineering Au cas où vous ne le sauriez pas, il existe un ChatGPT pour iPhone, qui est connu sous le nom de Siri et qui permet aux utilisateurs de...

Que sont les cookies tiers et pourquoi Google va-t-il les enterrer ?

Dans le monde en constante évolution du cyberespace, les cookies tiers sont un sujet brûlant qui a un impact à la fois sur l'expérience de l'utilisateur et sur l'écosystème de la publicité en ligne. Cet article vise à expliquer ce qu'ils sont, comment ils fonctionnent et pourquoi.

Comment concevoir un tableau de bord interactif avec Power BI : un guide pour les débutants

Introduction Power BI est un outil puissant et accessible qui permet de transformer les données en rapports visuels interactifs et faciles à comprendre. Grâce à sa capacité à connecter plusieurs sources de données, à créer des modèles efficaces et à concevoir des tableaux de bord personnalisables, Power BI est l'un des outils les plus puissants et les plus accessibles qui soient.

Retour en haut