Powerful Object-Oriented Programming (4th Edition)
The Best Way I Can Think of Summing up Programming Python Is, “Now That You Know the Language, Here’s How You Do Something With It.”
When I initially picked up this book, I expected it was going to be about, well, programming in the Python language. It is that, but it’s not a tutorial from the ground-up, rather it is meant to be read with an introduction, such as Mark Lutz’s Learning Python (also in its fourth edition now). At the same time, despite its size, it is not a Python reference either. The best way I can think of summing it up is, “now that you know the language, here’s how you do something with it.”
One thing I found interesting is how it talks about the trade-offs involved in making this book exclusively for Python 3, even when some of the libraries used in previous editions hadn’t been updated. That’s kind of approach shows up a lot in this book: explaining not just how, but why the author chose to do something a certain way.
The book itself is big, coming in at over 1600 pages and nearly 6cm thick. It is divided into four main sections of five chapters each that cover: System programming, GUI (using the Tkinter toolkit), Internet and Tools and techniques.
In its 21 chapters, the book covers a range of topics ranging from systems programming, GUI programming, Internet. The last section, Tools and Techniques, covers databases, persistence with ZODB, integration with C and text handling. Each section has about five chapters in it. In several areas like the GUI and database, the author explains why a particular library is used and not others. As you’d expect, there is plenty of programming examples and code snippets mixed into the reading making learning what is going on pretty easy, providing you know Python of course.
There is the first chapter gives readers an overview of the what the book will cover and provides a very brief refresher on some Python techniques while covering what this book will cover, yes in case you missed it, this is a big book.
The last section of the book compares Python to other languages and how Python fits into the larger scheme of things. While most of this book is very practical, this section is a bit more abstract.
Overall this is a good book if you’re already familiar with Python and now want to build “real apps”. The fourth edition provides readers with a pure Python 3 guide to programming with this powerful language.