The appearance in April 2000 of a Sams Teach Yourself Python in 24 Hours is evidence of mainstream support. Author Ivan van Laningham has the happy task of teaching an eminently teachable language, and his passion for Python is evident throughout. The 24-chapter recipe is arbitrary, but the book has a well-chosen tripartite subdivision into sections on basic operation, object-oriented design, and GUIs, each of which fulfills its mission. Each "hour" chapter ends with a summary, a Q&A period, a quiz with answers, and, for the ambitious, exercises.
The first hour asks the essential question, "Why Python?" The answer is a collection of flattering adjectives--flexible, extensible, embeddable, elegant, clear, simple--but the author fails to provide a comparison of Python with Tcl, Java, and Perl. Python has a competitive advantage, as found in Part II on object-oriented design basics and strategies. While other languages use o-o principles, none has subsumed it into the mind of the language as much as Python.
Van Laningham's book is illustrated with visually uninteresting black-and-white screen dumps from his Windows Python shell. An early lesson on adding '1' to the decimal representation of a googol (10^100) reveals that Python can print the answer in decimal notation. (Try it with Perl to see what happens.) The modular nature of Python is introduced transparently by incorporating the trigonometric math library.
Teach Yourself Python in 24 Hours is weakest in its editing. Mistakes in cross-referencing are distracting, and Van Laningham's loose, informal English often obfuscates his points. Code snippets in the early chapters grow into major listings by the middle, and proper annotation begins to slacken. A 950-line listing in chapter 16--which is downloadable from the inscrutable www.pauahtun.org--has few annotations. May future editions be shorter, sharper, and cleaner, but just as passionate. --Peter Leopold