Zen de Python — Wikipédia
- ️Tue Jun 01 1999
Un article de Wikipédia, l'encyclopédie libre.
![](https://upload.wikimedia.org/wikipedia/commons/thumb/f/f4/Zen_Of_Python.png/300px-Zen_Of_Python.png)
Le Zen de Python est un ensemble de 19 principes qui influencent la conception du langage de programmation Python, et sont utiles pour comprendre et utiliser le langage[1].
Écrit et publié sur la liste de discussion de Python en juin 1999 par Tim Peters (en)[2], le Zen de Python a été ensuite publié comme le Python Enhancement Proposal (PEP) numéro 20[3]. Il est aussi inclus comme "Easter egg" dans la distribution de l'interpréteur Python, et apparait quand on tape la commande import this
[3].
Le message initial sur la liste de discussion, comme les publications ultérieures, mentionnent non pas 19, mais 20 principes, "En en comptant un (...) à rajouter par Guido", mais ce vingtième principe n'a jamais été publié, et n'existe probablement pas. Le texte inclut aussi une référence implicite à Guido Van Rossum (dans la strophe "à moins d'être Néerlandais").
Le texte en anglais a été mis dans le domaine public.
Une traduction en français a été diffusée sous une licence Creative Commons BY-NC-SA dans un cours de programmation Python[4] :
Préfère :
la beauté à la laideur,
l'explicite à l'implicite,
le simple au complexe
et le complexe au compliqué,
le déroulé à l'imbriqué,
l'aéré au compact.
Prends en compte la lisibilité.
Les cas particuliers ne le sont jamais assez pour violer les règles.
Mais, à la pureté, privilégie l'aspect pratique.
Ne passe pas les erreurs sous silence,
... ou bâillonne-les explicitement.
Face à l'ambiguïté, à deviner ne te laisse pas aller.
Sache qu'il ne devrait [y] avoir qu'une et une seule façon de procéder,
même si, de prime abord, elle n'est pas évidente, à moins d'être Néerlandais.
Mieux vaut maintenant que jamais.
Cependant jamais est souvent mieux qu'immédiatement.
Si l'implémentation s'explique difficilement, c'est une mauvaise idée.
Si l'implémentation s'explique aisément, c'est peut-être une bonne idée.
Les espaces de nommage ! Sacrée bonne idée ! Faisons plus de trucs comme ça.
Les « espaces de nommage » mentionnés dans la dernière strophe désignent les espaces de noms (namespaces en anglais) ; ceux-ci assignent un ensemble d'objets (entiers, réels, chaînes de caractères, etc.) à un ensemble de termes d'un répertoire[5],
- ↑ « Zen de Python », sur Documentation de Python, 8 novembre 2018
- ↑ « "The Python Way" », Mail.python.org (consulté le 27 décembre 2018)
- ↑ a et b Tim Peters, « PEP20 -- The Zen of Python », 19 août 2004
- ↑ Bob Cordeau & Laurent Pointal, « Une introduction à Python 3, version 1.618c », 8 novembre 2018
- ↑ « Un point sur les variables et espaces de noms », sur www.normalesup.org (consulté le 11 juillet 2024)