Electronic Review of Computer Books

[ ERCB Home | New | Feature | Brief | DDJ | Letters | Links ]

[an error occurred while processing this directive]

Vital Statistics

Title Programming Python
Author Mark Lutz
Publisher O'Reilly & Associates
http://www.ora.com/
Copyright 1996 (newer edition now available)
ISBN 1-56592-197-6
Pages 904
Price $44.95


Programming Python

Despite the predictable reptile on its cover, Programming Python is not at all snake-like. It is, rather, a friendly, welcoming, bear-like book. Mark Lutz begins with a teaser chapter which shows off Python's features -- for those familiar with the language, a taste of things to come; for newcomers, a glimpse of its power and flexibility. This is followed by instructions on obtaining and installing Python (which is on the accompanying CD-ROM, along with lots of other goodies).

Part two works its way through the language, from the most basic features to object-oriented programming. This is first done through the construction of some simple shell tools and then through an increasingly sophisticated menu system (all the examples are on the CD-ROM). The overall approach is not very systematic (boxes are used for side-trips and digressions), but the result is comprehensive. I often find overly discursive explanations annoying, but that wasn't the case here. Lutz continually provides new information and doesn't repeat himself, and I found myself learning even in sections I expected to be uninteresting.

Part three deals with advanced topics, applications of Python and its interaction with other systems. I read the chapters on persistent information, implementing objects (stacks, sets, and other data structures), and language and text processing. Other chapters cover graphical user interfaces (tk), extending Python in C, and embedding Python. There is also a brief look at Python's place in the software development cycle.

Though an introductory tutorial is included as an appendix, Programming Python is not aimed at the newcomer to programming (and there is room for another book here, since Python would make a great teaching language). And although a technical reference is provided as an appendix, it is not particularly useful as a reference -- but then the online documentation for Python needs little supplementing. Programming Python is more a tour of the language.

If you are approaching Python from experience with other languages, then I recommend reading chapter two in the bookshop (and possibly the final section on the development cycle). That should give you enough of an idea of Python's features and Lutz's style to decide if Python and Programming Python are for you. Those already using Python are, unless they are real wizards, sure to learn something new from Programming Python, if not about language features then about the idiom and ethos of the language.

-- Danny Yee (http://www.dannyreviews.com/)


Copyright © 2001 Electronic Review of Computer Books
Created 6/4/2001 / Last modified 6/4/2001 / webmaster@ercb.com