This is a review for Python 3 Object Oriented Programming by Dusty Phillips.
First, the good: this is a fine place to get into the nitty gritty of object oriented programming in Python. The author really knows his stuff, and it's quite apparent in the book. This book would be one of the first that would come to mind if someone was looking for a reference for how Python handles Object Oriented programming. I think Dusty did an amazing job with this book.
Unfortunately, I'm starting to think Packt publishing can't create a coherent book. Case in point: Chapters 8 and 9 talk about Design Patterns. These are slightly more advanced topics than the normal fare of the rest of the book. However, Chapter 10 begins discussing Files and Strings. What? Shouldn't that have been covered more in the front of the book? Then Chapter 11 puts in an obligatory Test Driven Development chapter, only to close out with Chapter 12's look at some other libraries in Python 3.
Up until Chapter 10, this book feels like a solid and coherent whole. Had someone put chapter 10 more towards the front of the book, this would be approaching the five star mark.
One part that I particularly had trouble with were the decorators as explained in the book. Maybe it was me making them harder than they needed to be, but a little more explanation would have set me off in the right direction.
This isn't to say that this is a bad book. I applaud Dusty for making a book about a singular topic with Python 3 that is readable, and very thorough. This is a great book. I just wish that Packt could make a tighter book that didn't feel like it was padded out to fill a page count.