Harms, Daryl; McDonald, Kenneth
Manning Publications 2002
Date finished: 1999-12-20
The Quick Python Book (QPB) is Manning Publishing's first Python book, and a good introductory book. Most of the provided material on application-specific topics, though, seems unnecessary and of doubtful utility. Looking only at the introductory material, I would rank this book at 4 out of 5; based on the lack-luster additional material and the confusing reference appendix, though, the book gets knocked down a point. (I agonized for a bit about whether to whether to rank this book "4, with qualifications downward", or "3, with qualifications upwards".)
The meat of the book begins in chapter 4, a 13-page overview of all the language features that will be covered in the following chapters, and is followed by 7 chapters on various data types and language features. Then there are two unexpected digressions: a dry chapter titled "Using the filesystem" that mostly talks about various methods in the os.path module, and a chapter on "Reading and writing files" which discusses file objects and the struct and pickle modules. The latter chapter isn't too much of a problem, though I think file I/O is only needed after all the basic language features have been covered, but chapter 12 seems quite out of sequence; novices could skip it on the first reading without losing anything.
Afterwards the examination of language features resumes with exceptions, writing scripts, and classes. The discussion on classes is quite good, though some readers may wish for more diagrams of the contents of class and instance dictionaries to make things clearer. Then one more application-oriented chapter intrudes, this time on Tkinter, giving an idea of the flavour of Tkinter programming. Three brief chapters on packages, type objects, and special methods such as __add__, complete the discussions of language features. A chapter on regular expressions come next; again, I feel all these application-related chapters would belong in part 4.
Part 4 contains five chapters on various application areas. Unfortunately, most of the contributed chapters aren't very well edited, and some of the topics are rather specialized. The Jython chapter is horribly edited and far too sketchy; the Zope chapter differs little from other introductory articles on Zope, and has already become rather outdated; the HTMLgen chapter is nicely organized and well-written, though I wonder how many novices would have a use for the HTMLgen package. The chapter on writing C extension modules is a decent overview, but very brief. The Windows/COM chapter is the only one that stands out; it's a good overview of using COM through Python, explaining just enough of the theory to enable intelligent use of Pythonwin. Andy Robinson, the author of this chapter, is also co-author of the upcoming O'Reilly book on Pythonwin, which bodes well for that book's quality. Serious Windows users will certainly need the O'Reilly book for definitive coverage of Windows-specific programming; the single chapter in the Quick Python Book won't be sufficient.
The 50-page appendix is a Python reference. The sections on built-in types such as lists and dictionaries are reasonable, but I disliked its eccentric organization; built-ins, language features, and methods from several different modules are jumbled into each section. For example, the section on I/O goes from os.path to glob, from open() to array to print to fileinput. Breaking it up into subsections for each module, grouped under larger sections, would have made the reference more useful. It's also nowhere near being complete; as it stands, you'd be well advised to also buy some other, more complete, reference guide such as the printed Python documentation or the Python Essential Reference.
Summary: Most of the book is a reasonably good introduction to Python for new users, despite an odd organization of topics. The contributed chapters on advanced topics aren't particularly useful, though, and the reference section is incomplete and also strangely organized. 3 coils out of 5.
%T The Quick Python Book %A Harms, Daryl %A McDonald, Kenneth %I Manning Publications %P 444pp %D 2002 %K Python, programming languages %G ISBN 1-884777-74-0 %@ 1999-12-20