|
Learning Python, Second Edition by Mark Lutz and David Ascher*
o ISBN 0-596-00281-5
o Publisher: O'Reilley
o "link": http://www.oreilly.com/catalog/lpython2/
I'm paying this book the ultimate compliment. I'm buying a copy for
myself. In fact, I own a copy of the first edition of "Learning
Python":http://www.oreilly.com/catalog/lpython/, published in 1999. I
used it to supplement the online python tutorials available on the
"python"::http://www.python.org website. Since 1999 the python language
has had syntactic extensions and the second edition of Learning Python has
grown to embrace these changes.
Python is an elegant and easy-to-learn interpreted, interactive,
object-oriented computer language created by Guido van Rossum. Python
stresses readability, simplicity, and explicit programming and is famous
(or infamous) for its use of whitespace to delineate programming blocks
(rather than curly braces as in C or Pascal or line numbers as in BASIC or
FORTRAN). Available to the Python user are a wide range of programming
tools including object inheritance (even multiple inheritance), functional
programming (lambdas), robust exception handling, and a large python
module library. Also of note is that a Python user can pick and choose
which of these tools they want to use for themselves.
Python has gained additional optional language features over time. As of the
time of this review, the newest released Python was version 2.3.
In 1999 when the first edition of Learning Python was published the stable
python was version 1.5. Most python programs written in the python 1.5 era
still run with little or no modification as most changes have been optional
additions. However, many of these additions (such as list comprehensions)
simplify a Python user's work and are worth learning.
The first edition of Learning Python was a light 366 pages of which 212 was a
description of the language and grammar of Python and the remaining book was
an overview of the available Python library. As the python language has added
more syntactic sugar the Learning Python book has grown to 591 pages, with the
first 436 pages devoted to language concepts. Fortunately the core language
section of the book has been further subdivided into chapters which clearly
demark which sections are "Advanced" topics and can therefore be passed over
the first time through. Although the added bulk is unfortunate, these
advanced subjects provide useful clarifications and techniques that can
increase the users savy once the reader digests the core concepts. Also some
of the text explains changes in the Python language since the 1.5 version
days and these are neccessary as much 1.5-era python code is still in
use.
Later chapters in the book explain how to accomplish common tasks using
Python's standard library and new python frameworks such as Jython.
Excerpts of two of these chapters are available online from O'Reilly for
your review:
o "Chapter 9": http://www.oreilly.com/catalog/lpython/chapter/ch09.html
o "Chapter 10": http://www.oreilly.com/catalog/lpython/chapter/ch10_fel.html
The text is peppered in useful examples - rarely do a reader's eyes have to
trudge through more than five lines of text before sample code and results
bless the page. Each section of the book includes exercises and an appendix
includes solutions. The book is useful for a newcomer with little computer
programming experience and for a seasoned python veteran who wants to review
the evolutionary changes to python in the last five years.
A worthy companion to the now hefty Learning Python is the aptly named
"Python Pocket Reference': http://www.oreilly.com/catalog/pythonpr2/ also by O'Reilly.
|