Python Friday #11: The Zen of Python

After 10 posts about learning Python it is time for a little bit of fun. You can find the other more serious parts of this series here.

Your Python interpreter comes with an Easter egg that reminds you of the guidelines for the design of the Python language. All you need to do is to write

The Zen of Python, by Tim Peters

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!

This was written by Tim Peters in 1999 and you can find a good explanation for each line here.

I find it a great reminder of the many things we should keep in mind when we write code. Not only in Python, but in every language we choose. I saw too many complicated solutions where programmers tried to impress their peers and by doing so created an absolute maintenance nightmare. Much of that could have been prevented following a simple guide like the Zen of Python.

1 thought on “Python Friday #11: The Zen of Python”

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.