Novice programmers will learn the best practices of Python’s capabilities. Experienced programmers will learn how to embrace the strangeness of a new tool with confidence.
Brett Slatkin, Effective Python
I came across this book while searching the web for recommendations on refining my Python experience. Like a lot of other programmers, I learned to code by coding, and googling what I didn’t understand how to do. It’s gotten me by so far, but I’ve come across some free time, and decided it was about time to read a real text on Python. So, I just finished Effective Python, and I loved it.
The text isn’t written to teach any Python directly, but to highlight discrete uses of the many nuanced, advanced features of Python. It’s presented as fifty-nine points on writing better code, split into eight sections. Pythonic Thinking, Functions, Classes and Inheritance, Metaclasses and Attributes, Concurrency and Parallelism, Built-in Modules, Collaboration, and Production. Quite the extensive range for a book on practice.
For those working with Python, I’d highly recommend giving it a read. For the inexperienced, it’s a great chance to be exposed to the more powerful constructs in Python, but you will find yourself Googling topics such as meta-classes, decorators, context-managers and the like. For the experienced, it highlights the proper, Pythonic ways to use mechanisms you may have known about, but doubted in the language.
Regardless, go read it, it’s great. I’m sure to have those fifty-nine points printed out, and tacked up on my wall.