PEP 20

Descobreix el PEP 20 (The Zen of Python): els principis de simplicitat, claredat i llegibilitat que guien el disseny de Python. Amb exemples pràctics i enllaços relacionats.

« Back to Glossary Index

PEP 20 – The Zen of Python és un conjunt de principis que defineixen la filosofia de disseny de Python. Escrits per Tim Peters, orienten cap a un codi més simple, explícit i llegible.

Definició

PEP 20 (conegut com The Zen of Python) és una llista de màximes que resumeixen les bones pràctiques i valors estètics del llenguatge Python. Es pot visualitzar a l’intèrpret amb:

import this

Principis clau (selecció)

  • Beautiful is better than ugly: el codi ha de ser net i agradable de llegir.
  • Simple is better than complex: prefereix solucions senzilles.
  • Explicit is better than implicit: evita ambigüitats i “màgia”.
  • Readability counts: la llegibilitat és prioritària.
  • There should be one— and preferably only one— obvious way to do it: coherència i camins clars.
  • Errors should never pass silently (excepte si es silencien explícitament): gestiona les excepcions amb criteri.
  • Namespaces are one honking great idea — let’s do more of those!: organitza i evita conflictes de noms.

Veure la llista completa de màximes

  • 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!

Aplicació pràctica

Exemple de simplicitat i llegibilitat (Readability counts):

# Poc clar (massa "màgia")
vals = [1, 2, 2, 3, 4]
u = []

[u.append(v) for v in vals if v not in u]

# Més simple i explícit (preferible, PEP 20) vals = [1, 2, 2, 3, 4] u = list(set(vals))

Context i autoria

The Zen of Python és obra de Tim Peters. El terme “PEP” significa Python Enhancement Proposal (Proposta de Millora de Python).

Vegeu també

« Back to Glossary Index