I learned Python in the context of science and was trained in writing procedural scripts. Of course, I knew how to write simple classes, but that was about it. But in 2014, I moved into web development and felt the need for object oriented programming. That's when I got this book to improve my knowledge of Python object oriented programming and design patterns.
The book far exceeded my expectations. It started with simple Python classes, so a complete noob in object oriented programming, such as I, was able to follow along easily. But in a matter of days, I was learning advanced and powerful concepts like inheritance, decorators and metaprogramming. The book also has a section of design patterns, which helped me figure out how to design larger projects and pick up important concepts like DRY (Don't Repeat Yourself). I use the knowledge I gained from this book on an everyday basis now.
What I liked about the book
The coding style in this book is truly beautiful. It helped me learn what is Pythonic and what's not and helped me develop a deep appreciation for the beauty of Python.
The book is quite slim, so I managed to finish it in a month.
What I didn't like about this book
- Nothing that I recall. I enjoyed it thoroughly.
I have recommended this book to all my friends who wanted to improve their knowledge of Python object oriented programming. The book assumes a certain level of knowledge in procedural Python programming. So if you are at that level, you can definitely give this a try.