McDonald's book fills a really important niche. I'm a beginner programmer and started out learning some C, R, and Javascript. I eventually found Python and loved it. As I've gone along, I've picked up some of the built in tools that make Python so coder-friendly: list/dict comprehensions, enumeration, purpose-built collections like namedtuple, orderedDict and so on. All of that has come piecemeal, either by reading tutorials or other people's code.
This book beautifully explains just about everything that makes Python unique. It's perfect for the reader who can already write code in Python or any other language but wants to step up their game. It's a great reference, but well-writen enough that it's a delight to read through entire chapters.
The final chapters contain the best explanations I have read on asynchrony and parallelism.
I only wish that there was already another book by the same author that took the same approach to the popular packages in the Python ecosystem for data analysis and AI (numpy, pandas, scikit-learn, nltk, etc), GUIs (tkinter, PyQT), and maybe embedded python versions (micropython, circuitpython). That's a pretty big ask, though.