Zen of Python

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
The Zen of Python output in a terminal

The Zen of Python is a collection of 19 "guiding principles" for writing computer programs that influence the design of the Python programming language.[1] Software engineer Tim Peters wrote this set of principles and posted it on the Python mailing list in 1999.[2] Peters's list left open a 20th principle "for Guido to fill in", referring to Guido van Rossum, the original author of the Python language. The vacancy for a 20th principle has not been filled.

Peters's Zen of Python was included as entry number 20 in the language's official Python Enhancement Proposals, which was released into the public domain.[3] It is also included as an Easter egg in the Python interpreter, which can be displayed by entering import this.[1][3]

In May 2020, Barry Warsaw wrote the lyrics to music.[4][5]

Principles[edit]

The principles are listed as follows:

  • 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.[a]
  • 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!

See also[edit]

Notes[edit]

  1. ^ In the interpreter easter egg, this is written as "Although never is often better than *right* now." This follows a longstanding convention of plain-text communication—in which common formatting features are often impossible—where emphasis is represented with asterisks.

References[edit]

  1. ^ a b Reitz, Kenneth (2011–2019). "Code Style". The Hitchhiker’s Guide to Python. § Zen of Python. Retrieved March 26, 2019.
  2. ^ Peters, Tim (June 4, 1999). "The Python Way". Python Software Foundation. Retrieved March 26, 2019.
  3. ^ a b Peters, Tim (August 19, 2004). "PEP 20—The Zen of Python". Python Software Foundation. Retrieved March 26, 2019.
  4. ^ https://wefearchange.org/2020/05/zenofpython.rst.html
  5. ^ https://www.youtube.com/watch?v=i6G6dmVJy74

External links[edit]