Python, Deeper Understanding

Here's the plan: when someone uses a feature you don't understand, simply shoot them. This is easier than learning something new, and before too long the only living coders will be writing in an easily understood, tiny subset of Python 0.9.6 (wink).

Tim Peters, Legendary Core developer and author of The Zen of Python


Sadly, I've been one of those "shooters" for a long time. I've been writing Python code for around four years on many different tasks. From back-end server that provide service to many clients, to playing Kaggle competitions, Python has always been one of the most frequently used languages and I do really like it in most cases (however, there're also some cases that I really messed up with it). Looking back in those code I've written, I start to think, are they elegant enough? The answer is definitely NO. The python provided multiple interesting and power features that is different from C++ and JAVA, but I never used them.

Since I would work with Python for a long time in the coming future, I'd better learn more about Python and try to write more pythonic code. Besides, the Zen of Python is influencing the design of many other languages, understanding more about the successful language would benefit those who like and enjoy programming.

This series would be a memo and conclusion of Python, basically Python 3.6, mainly talking about more advanced Python features, so before reading it, you are thought to have experience of programming Python, be able to write, read and understand basic Python code. This series is for those who want to go further and write more elegant (pythonic?) code. Discussion and comments are welcomed.