Let me start with an analogy. I am a rock climber. While I love to climb long routes outdoors, I am forced to spend a great deal more time climbing indoors for training. To climb at a comfortable level outdoors, I try to climb at a much harder level indoors. I learn a lot about easy climbing by climbing hard.
Same with Python. My Python programming level is: EASY. But I find that I learn a lot about how to think like a programmer by reading about advanced Python topics, and this book here is a great example. I had some time recently, sitting in 110 Fahrenheit weather watching a drill rig slowly grind its way into the ground, to read about half of this book, and while I am not about to immediately use much of what I learned, it will still be very handy sooner or later. I knew nothing, for example, about decorators. Now, I know a little.
The organization of the book is also interesting. While many book give a chapter a topic and then cram everything about that topic in the chapter, this book’s different. Chapter 1 will cover topics A, B, and C. Chapter 2 will add topic D, and then expound on topics B.1 thru B.3 and C.1 thru C.3, followed by chapter 3 which talks about topic 4 and special cases such as in chapter B.1.1 thru B.1.3 and C.2.1 thru C.s.5…. Okay, if I have thoroughly confused you now, I’m sorry. The structure seems odd at first, but it gradually introduces you to some topic and only gives you more detail when you’re ready for it. If you’ve read a bunch of introductory texts on Python and are ready for more, Marty Alchin’s Pro Python is the best bang for you buck.