The Python programming language is growing, in both popularity and applications, at an impressive rate. Along with this growth in popularity is a dramatic increase in the number of books explaining various aspects of the language, perhaps over 100 in the last year alone. There is no “standard” book on Python. Instead, there is an enormous variety of volumes that address various aspects of the language and the applications that can be addressed with the rich variety of publicly available extensions. Python playground is a somewhat unique contribution among the flurry of recent titles.
First, this is not an introductory book. If one wishes to learn Python from scratch, there are many wonderful choices, but this book is not one of them. Second, it is not an application-specific book. If one wishes to learn Pandas, Beautiful Soup, or Django, he or she will have to find a book with that focus. There are multiple books dedicated to those topics. However, for those who already know Python, have a reasonable background in high school math, and want to see some great examples of the range of what Python can be used for, then this might be the book for them.
Here are a few examples of the topics addressed: managing your iTunes playlist, artificial life, creating ASCII art, and making a particle system. A brief word about each will reveal the diversity of these chapters. Managing your iTunes playlist is pretty straightforward. You export your playlists from iTunes in an Extensible Markup Language (XML) format, read the XML into a Python program, and then use functions to do things like look for duplicates and provide some stats. That is the easiest example to understand. Artificial life is a precursor to agent-based modeling, which is used to model population growth or the spread of diseases in which the behavior of a given cell is determined by the state of the surrounding cells. ASCII art produces those pictures that most people have seen, where a picture or a photograph is reproduced using only ASCII characters. And particle systems are used widely in virtual worlds and video games.
There are many other examples, which, I have to admit, are a little beyond the scope of my knowledge. These include such diverse topics as spirographs, photomosaics, autostereograms, and more. However, from looking over the topics I did understand well, I felt that if I worked through the code examples in the areas that I did not understand, I would come to understand them a lot better. And that is the beauty of this book. The author has an impressive range of interests in application, and coding competencies to match. If you are looking to “up your game” in Python applications, this is the book for you.
But, more generally, who is this book best suited for? That is indeed a tough question. If you are a competent Python programmer, perhaps a little smarter than those around you, and you enjoy learning new ideas and applications through coding, this is indeed the book for you. Alternatively, if you are teaching an advanced course in Python programming, then this book is definitely worth checking out.
More reviews about this item: Amazon, Goodreads, MouseVsPython blog