📑 Table of Contents

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].

Le "Zen of Python" (en anglais) vu dans un terminal.

É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.

Texte

modifier

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èresetc.) à un ensemble de termes d'un répertoire[5],

Références

modifier
  1. « Zen de Python », sur Documentation de Python, 8 novembre 2018
  2. (en) « "The Python Way" », Mail.python.org (consulté le 27 décembre 2018)
  3. a et b (en) Tim Peters, « PEP20 -- The Zen of Python », 19 août 2004
  4. Bob Cordeau et Laurent Pointal, « Une introduction à Python 3, version 1.618c », 8 novembre 2018
  5. « Un point sur les variables et espaces de noms », sur www.normalesup.org (consulté le 11 juillet 2024)

Liens externes

modifier

📚 Artikel Terkait di Wikipedia

Python (langage)

(advocative) Python de la première heure, est crédité pour l'import du module dénommé this : import this # Affiche : « The Zen of Python, by Tim Peters »

Guido van Rossum

formation de ses ingénieurs. En novembre 2020, il rejoint Microsoft. Python Zen de Python Sur les autres projets Wikimedia : Guido van Rossum, sur Wikimedia

Principe KISS

principe apparaît aussi dans le Zen de Python, les principes de design de logiciel du langage de programmation Python, sous la forme « Préfère... le simple

Liste de navigateurs web

Tor Torpark, devenu XeroBank Browser Cliqz, Dérivé et plugin SlimBrowser Zen Browser, fork de Mozilla Firefox NetSurf pour RISC OS, GNOME, mais aussi

Anagramme

d'emprunt ») ; il ne s'agit que d'une coïncidence. Dans un sketch des Monty Python, The Man Who Speaks in Anagrams (« L'homme qui parle en anagrammes »), un

Lamb (groupe)

d'animation The Fall & Rise of the Fools Ark, un road movie fait par le duo hollandais Dadara and Jesse en 2004 dans le style des Monty Python et de Yellow Submarine

Format virgule flottante bfloat16

Data Center d'Intel, Nervana (en) NNP-L1000 d'Intel, les FPGA Intel, AMD Zen, AMD Instinct, Les GPU de Nvidia, les TPU de Google Cloud, AWS Inferentia

AVN Hall of Fame

David Stanley Celeste Star Aiden Starr Devlin Weed Angela White Michael Zen 2019 : Asa Akira Gabrielle Anex Lexi Belle Frank Bukkwyd Maestro Claudio