Author: Zed Shaw
Reviewed by: Mike Driscoll
Now in its 3rd edition, is this a useful introduction for Python beginners?
A few years ago, a fellow named Zed Shaw created a website called “Learn Python the Hard Way” that a lot of people praised. He kept updating it from time to time and eventually Addison-Wesley turned it into a book by the same name and they have now brought it out in its third edition. The website is made up of lots of short exercises that help beginner programmers learn the various nuances of Python but in bit-sized chunks. A DVD with more than 5 hours of tutorial is bundled with the book so that readers also have access to video material.
Two things to note before you begin are that the book is on Python 2 and you are warned against installing Python 3. As well as prohibiting the use of copy and paste, you are expected to use command line programming using PowerShell on Windows, Terminal on OSX or "Bash" on Linux. Shaw explicity tells you not to use IDLE or an alternative Python editor.
The book is split into 52 exercises or chapters, if you will. Most of the chapters are under four pages in length. In fact, there are a lot of chapters that have a blank page between it and the next chapter, so there is some filler going on here. Each chapter also has some drills and some common student questions in them.
As expected in an introductory text, you will learn about all the data structures that you’ll need as a Python programmer. From simple things like strings, dictionaries and lists, to conditionals, loops, functions and classes. They are all covered here. The book also goes over Booleans, Is-a / has-a, inheritance, composition, testing and the lpthw.web framework.
In the introduction, Mr. Shaw makes a big deal about how if you, the reader, feel like he is insulting your intelligence, then you are not in the intended audience for this book. That section alone is rather insulting whether you’re a beginner or not. I didn’t really appreciate it when he stated that “programmers lie frequently about being math geniuses when they really aren’t”. I assume he is attempting to be funny, but he comes across as snarky, at best.
Regardless of whether you enjoy that type of writing, the core content is pretty good. I like how each piece is put together and how the chapters build on each other, increasing the reader’s abilities one step at a time. I think beginners will benefit from the book, but I would recommend checking the website out before you purchase it.