This is not the only Python book available, although most books that I have seen assume quite a bit of knowledge and past experience on the part of the student. Books that are aimed at absolute beginners are rare. Still, several alternatives for this book, even free alternatives, exist.

A problem that I have with most Python books aimed at beginners is that they attempt to make programming attractive by focusing from the start on applications that are immediately useful or entertaining. “Learn Python by Programming Games!” is a typical approach that I have encountered.

Such a setup is misleading. First of all, if you examine a book that teaches Python using games, you will discover that the games used are very simple word and number games, rather than the next Halo, Civilization, Bejeweled, or even Flappy Bird. This generally is not what the student would expect from a book on game programming. Moreover, you will find that even those very simple “games” are of a complexity that is too high to allow a novice to learn programming. I understand that such a book tries to evoke enthusiasm amongst the students by framing its material in a way that seems attractive. However, that attraction is lost very quickly when students realize that the material is not what they expected, and at that point the topics become an obstruction to learning rather than a stimulant.

Regardless which way you look at it, like any other topic of study, learning how to program requires studying basic concepts before you can advance to more attractive and useful applications. The desire or need to learn programming is what should drive the student, not the erroneous expectation that they can hammer out a flashy game after a couple of hours of studying. That is why I designed this book to start small, with basic programming statements, and building knowledge up with a steady pace. The book does not remain stuck at the small stuff, however – if you progress through all the chapters, you will be an accomplished programmer when you finish it.

I try to insert exercises that can be entertaining to solve if such things appeal to the student. I have had students telling me that they really enjoy working on them. However, I have also seen students suffer and longing to do something else. Regardless, if you want to learn how to program, and do the exercises, the book will teach you everything that you need to program any application that you want – even entertaining games if you so desire.