Personal tools
You are here: Home User Group Association Program Book Reviews reviews_2004 Learning Python, Second Edition
Document Actions

Learning Python, Second Edition

by Tony Cappellini last modified 2006-07-21 13:13

Reviewed by Corey Coughlin, October 2004


 


To start off, I should probably admit that I originally learned to program with Python 1.5 using the original version of this book. This latest version is a lot bigger, almost 600 pages versus the original's 360 or so, and the type in the new version is also a little smaller. This makes some sense, in the original there was always the sense that Python was a work in progress, and now since it's gotten much more popular and well defined, there's a lot more to cover. This means that generally, almost all of the original material has been kept, so any references you may have relied upon previously should be intact. I was thrilled to see that the slicing index figure (page 38 of the old version, page 83 of the new version) was kept.

Predictably, the sections of the language that people usually have the most trouble with are the most expanded. The most expanded sections cover modules, which have grown from one chapter to four, classes, up from one chapter to five, and exceptions, which now span three chapters. With the expanded coverage, you might be afraid that the immediately useful information might get buried, but the basics always get presented right up front, so the standard general cases are pretty easy to absorb

I found the expanded coverage very helpful in many cases. The extra exception coverage was also pretty welcome. In the first edition, it was one of the parts of Python where I didn't really see the immediate utility, but the extra examples and usage cases should be a big help to beginners struggling with the concepts. The extra OO coverage also offers many more examples and explanations, and gives many more tips on proper OO design techniques. The coverage of new style classes is also done very well, with full coverage of the issues of old style classes, and the improvements offered by new style classes. For instance, the explanation of classmethod and staticmethod was the first really coherent explanation I've seen for it. Now I feel like I at least have a chance of figuring out decorators.

The simpler and more incremental improvements in the builtin functions have also been well covered, and in many cases it really improves the flow of the book. For instance, map and filter are now covered with advanced function concepts along with list comprehensions and generators. Introducing these concepts along with the ideas of what functions can do seems a little more natural than in the previous version, where map and filter were brought in with the outer layers.
 
So to sum, I enjoyed that this latest version was true to the original material, and I found the expanded material to be a big help with many of the more advanced concepts of the language. Python has always been a language that allowed you to be productive immediately, as well as giving you the tools you need for more complicated concepts, and this book nicely reflects the breadth of the language. I would highly recommend this book to any beginners learning Python, or those already familiar with the language looking to refine their techniques.
 
 

« November 2008 »
Su Mo Tu We Th Fr Sa
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
 

Powered by Plone, the Open Source Content Management System

This site conforms to the following standards: