Thank you No Starch Press for sending us a review copy of this book!
Python is a powerful programming language that is used worldwide and is a valuable skill to know for a hobbyist or anyone pursuing a computer science major. In Python Crash Course you’ll learn basic coding concepts, troubleshooting skills, and how to make games, manipulate data, and deploy your programs. The example scripts show how to code for both Python 2.X and 3.X. The recommended and free editor, Geany, is user friendly and works well.
The first half of the book talks about variables, lists, loops, if statements, dictionaries, while loops, functions, classes, and working with files. Each of the twenty chapters has about twenty or so pages with helpful examples to teach you how to use the concepts they are teaching. The beginning coding examples aren’t that memorable, but they get you familiar with the basics required for the advanced projects in the second half of the book.
My favorite project was making the Space Invaders type game. The source code has all of the graphics needed and is available for troubleshooting purposes. I ran across an issue in the eleventh chapter where the printed code is incorrect and the source code had corrected code that successfully compiled. The printed code was "print(question)" when the proper code should have been "print(self.question)."
From chapter fifteen on I could no longer compile my programs using cloud services like Dropbox or One Drive. If I compiled my programs locally they worked just fine. This is not the fault of the author; I just thought I would spare someone some frustration if they use cloud storage for saving their work.
Other issues I ran across include changes in the classes referenced later in the book. For the data graphing, pygal is required and since this book was published it no longer handles country codes like it used to. Instead of 'from pygal.i18 import COUNTRIES' I had to use 'from pygal_maps_world.i18 import COUNTRIES'.
The final chapters involve making a discussion forum using the Django web framework. They also cover using Git for version control and Heroku’s free cloud services for hosting it. However, despite my best efforts I couldn’t get the forum to work online and even had difficulty setting it up locally without using the source code. Despite not being able to see the final project, I still learned a lot and got to play around with it locally in a virtual environment.
Although my experiences have been mixed using this book, I have learned a lot from it. I was able to use concepts from it and code a program that quizzes people on the Ten Commandments for a mission’s conference I spoke at. Without this book it would have taken me much longer to make. The suggested retail price is $39.95 but it can be purchased for less than $30 on Amazon.