Author: Toby Donaldson
Publisher: Peachpit Press, 2009
Aimed at: Beginners to programming who want to learn Python
Pros: Short and to the point
Cons: Introduces topics in sub-optimal order
Reviewed by: Mike James
This is a very thin book and its layout style - a single column of text with the occasional box out or illustration next to it - results in most pages being half empty. It makes it look easy to read, but it reduces the content even more than you might expect.
What content there is is aimed at more or less the complete beginner and not at someone wanting to just brush up on Python. This said the approach is a fairly standard one and if you are a complete beginner then you might not like the no-nonsense approach as there are few jokes or asides. On the other hand if you do like to just get on with the job then it will be ideal. I found the explanations clear and to the point.
Starting from how to install Python the book works its way though simple arithmetic, variables, flow of control and so on. Notice that Python is treated as if it was a standalone language and if you plan is to use it for web development or for any specific purpose you will need another book.
Equally if you want to learn good object-oriented Python you will need much more than the final chapter that deals with it. Personally I would prefer a book that introduces objects as soon as possible rather than treats them as an afterthought, but you might disagree on the grounds that for a complete beginner there is enough to learn just with variables, data and the flow of control.
The author does tackle some more advanced topics, such as exception handling, before introducing objects which to my mind is a strange. Indeed while the overall order of presentation is more or less OK the small scale order is a little strange. For example, why deal with Booleans and conditionals before introducing the IF statement? It's a matter of opinion which order these should be introduced but the same sort of concern occurs at various other points of the book. Why mention complex variables and then say immediately that they are not going to be discussed further? And why cover more advanced data structures before objects?
All of these reservations are minor in that it is clear that the author knows how to teach someone to program and program in Python in particular.
This book isn't inspiring but it is short and to the point. If you want a standard account of Python 3 suitable for the complete beginner without too much spoonfeeding then this might be worth trying. However if you are more in tune with "Head First" and other more free format presentations you might find it a challenge.