As PEPs - Propostas de Enriquecimento do Python (Python Enhancement Proposal) são documentos que abordam melhorias para o Python.
Estes documentos funcionam de maneira parecida ao RFC do IEEE (inglês), em que um usuário submete para a comunidade um paper explicando a funcionalidade/processo, e a comunidade, decide se o recurso é interessante e deve ser liberado nas próximas versões.
Existem três diferentes tipos de PEPs (como definido pelo PEP 1):
- Padrão, escreve um novo recurso ou implementação;
- Informativo, descreve um problema de design, diretrizes gerais ou informação à comunidade;
- Processo, descreve um processo relacionado ao Python.
PEPs Notáveis
Existem algumas PEPs que podem ser consideradas como leitura obrigatória:
- PEP 1: O Guia de PEPs;
- PEP 8: O Guia de Estilo do Python;
- PEP 20: O Zen do Python, um poema que explica a filosofia por trás do Python;
- PEP 257: Convenções de Docstring, diretrizes para semântica e convenções associadas com docstrings do Python.
Você pode ver todas as PEPs aqui The PEP Index.
Na listagem oficial, verificamos que a sequência de numeração das PEPs não é continua, isto ocorre pois nem todas os papers são aceitos pela comunidade.
PEP 20
Esta PEP explica de forma simples a filosofia por trás do Python. Abaixo tradução dela.
Bonito é melhor que feio
Explícito é melhor que implícito
Simples é melhor que complexo
Complexo é melhor que complicado
Linear é melhor do que aninhado
Esparso é melhor que denso
Legibilidade conta
Casos especiais não são especiais o bastante para quebrar as regras.
Ainda que praticidade vença a pureza
Erros nunca devem passar silenciosamente.
A menos que sejam explicitamente silenciados
Diante da ambiguidade, recuse a tentação de adivinhar
Deveria haver um — e preferencialmente apenas um — modo óbvio para fazer algo.
Embora esse modo possa não ser óbvio a princípio a menos que você seja holandês
Agora é melhor que nunca
Embora nunca freqüentemente seja melhor que já
Se a implementação é difícil de explicar, é uma má ideia
Se a implementação é fácil de explicar, pode ser uma boa ideia
Namespaces são uma grande ideia — vamos ter mais dessas!