Mon 1 Apr 2013
A couple months ago, I was contacted by John Rowland. He is the author of the brand new eBook Learn Python Quickly and he was contacting me about using one of my blog articles as the basis for one of his examples in his book. This one to be exact. Anyway, I told him I would review his book when it came out. Anyway, the book came out a couple weeks ago and here is my review. Note: I managed to snag a copy of this when it was free, which was the second day it was on sale, I think.
- Why I picked it up: I picked this one up because first I was intrigued that someone wanted to use one of my articles in their book and secondly, I got a sneak peak of a couple of the chapters and enjoyed the author’s writing style. Also, picking it up for free helped!
- Why I finished it: Because I wanted to review the book. I only read the main text though and only skimmed the rather extensive glossary / appendices.
- I’d give it to: New programmers, especially if they already had a little programming already, like a 101 class.
You can read my full review after the jump!
This book is available on Amazon as a Kindle book only at the time of writing.
Learn Python Quickly teaches Python 3. It covers all the topics that you would expect and a couple that you wouldn’t. I didn’t expect it to just cover installing Python, especially only on Windows. I was also surprised that a book as short as this one would attempt to jump into GUI programming with Tkinter for the last 3 chapters, but it did. The normal stuff is covered too of course (not necessarily in this order): numbers, strings, loops and if statements, lists and dictionaries (although not much on tuples), functions and classes, file I/O, exception handling, date manipulation and a chapter on spreadsheets and databases.
The spreadsheet and database chapter (number 8) focuses on the csv module for spreadsheets with a mention of the xlwt package but not xlrd. I thought this chapter might talk about PyWin32 and how to access Microsoft Excel using PyWin32′s COM modules, but it does not. The database section is a quick show-and-tell of pyodbc. He doesn’t teach SQL, which is fine, but should be noted.
The book covers the development of several applications at the end of the book. Mr. Rowland has the reader create several variations of a simple Banking application in the class chapter. Then he goes on to having the reader create a couple little Tkinter applications.
The most unique part about this book is that it uses TONS of hyperlinks. In fact, without the glossary and appendixes, the book would be only half as long. The author links to all kinds of terms in his glossary and to some outside sources as well. The writing style is engaging and sometimes entertaining, especially when the author drops some British terminology. I found the text to be straight-forward and easy to follow. I do have to point out a couple of cons though. There aren’t many code examples and he frequently refers to code on the book’s accompanying website: http://www.learnpythonquickly.com. Most of the time, this works quite well, but when I copy the code for the Tkinter stuff into my Python IDE, my line numbers don’t match up with the author’s very well. Also, if you try to read the book using the Amazon Cloud Reader, then the code is not indented properly most of the time, although if you open the book in Kindle software, it seems to be indenting the code appropriately.
Otherwise, the book was quite good and I would recommend it for people who are new to the language and want to just get up and running quickly. Of course, if you’re new, then you’ll be spending a lot of time with the Python documentation as well as this book just can’t cover the entire breadth of the entire Python language. Regardless, I think this book will allow readers to pick up the basics of Python quickly and the links will help them know what to search for later when they need to learn more.
Learn Python Quickly