Programming Python

Mark Lutz

O'Reilly & Associates 1996
A book review by Danny Yee © 1997
Despite the predictable reptile on its cover, Programming Python is not at all snake-like. It is, rather, a friendly, welcoming, bear-like book. 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 CDROM, along with lots of other goodies).

Part two works its way through the language, from the most basic features through to object-oriented programming. This is done through the construction first of some simple shell tools and then of an increasingly sophisticated menu system (all the examples are on the CDROM). 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). Nor, though a technical reference is provided as an appendix, is it 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 with experience using 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.

Note: a 3rd (2006) edition of Programming Python is now available.

January 1997

External links:
- buy from or
- details at O'Reilly & Associates
Related reviews:
- Alex Martelli - Python in a Nutshell: A Desktop Quick Reference
- David M. Beazley - Python Essential Reference
- books about computing
- books published by O'Reilly & Associates
%T Programming Python
%A Lutz, Mark
%I O'Reilly & Associates
%D 1996
%O paperback, CDROM, index
%G ISBN 1565921976
%P 904pp