In the crowded field of scripting languages, Python has found a niche as the best tool for learning object-oriented design principles. Several elegantly produced books in the past few years, notably David M. Beazley's thorough Python Essential Reference
and John E. Grayson's durable Python and Tkinter Programming
, have established a foundation of documentation that makes Python a buildable platform for rapid prototyping, as well as good programming practice.
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
Sams Teach Yourself Python in 24 Hours presents 24 hands-on, one-hour lessons that guide you through all the steps needed to learn the Python programming language. The lessons begin with basic Python syntax and language features, and move up through object oriented design and programming. The book ends with a series of chapters covering GUI programming (using Tkinter), Python as a system administration tool, and Python as a programming language for CGI applications.