|Practices of the Python Pro|
Author: Dane Hillard
so this book looks perfect. Only it all depends what you mean by "Pro". If you are thinking of a Python wizard who shows you pythonic ways of doing things then this isn't the book for you. In fact it almost isn't about Python at all. What it is is a rehash of everything you have ever encountered in the theory and practice of object-oriented programming with Python as the example language. Of course, if this is what you are looking for then you will like this book but if you were looking for how to specifically use Python to best advantage or for insights into Python's unique and powerful approach to objects you will be very disappointed.
Part 1: Why It All Matters, a single chapter, is simply a scene setter.
Part 2 is where the book gets going and is called Foundations of Design which gives you a good clue as to what is to follow. - separation of concerns, abstraction and encapsulation, design for high performance and testing.
Part 3: Nailing Down Large Systems - is more of the same. We have separation of concerns (again), extensibility and flexibility, the rules (and exceptions) of inheritance, keeping things lightweight and finally achieving loose coupling. All of these ideas are introduced in fairly non-specific terms and then how Python fits into the picture is added on. So many important features of Python are simply ignored - where are metaclasses, where are decorators, where is there any mention of functions as objects? All of these things make classical object-oriented practices potentially different and more powerful.
Part 4: What's Next is another single chapter and a very standard outro.
The book is well written, but it's not Python Pro material. If you are a self-taught novice you might find this exposition of the standard ideas of object-oriented programming useful and interesting but be warned Python has many important and powerful features that are simply ignored in this account. If you have encountered the ideas and principles of object-oriented programming then you will find very little new or useful in this book and you will be disappointed that it doesn't really tackle the ideas in a pythonic way but merely uses Python as a medium for illustrating the conventional ideas.
|Last Updated ( Tuesday, 23 February 2021 )|