[Tutor] Python Books

Blake.Garretson@dana.com Blake.Garretson@dana.com
Thu, 9 Aug 2001 08:56:10 -0400

>From: "Python Newbie" <pythonpython@hotmail.com>
>Can you recommend a few GOOD Python books(for someone who has some
>experience in programming)?
>There are so many Python books out there; I am not sure which one I should
>Shall I do the O'reilly's "Learning Python" and "Programming Python"?
>Or "Python Bible 2.1"?

Since I've never seen anyone else describe the Python 2.1 Bible, I'll do so
since I bought it about 3-4 weeks ago.  It is a great reference for someone
who knows what they are already doing in Python.  It covers simple and very
complex topics.  It shows you how to extend Python with C modules, parse
XML, use NumPy, etc. It even has a chapter on wxPython (wxWindows) which is
something most books totally ignore in favor of Tkinter (which this book
covers as well.)  This book really shows the versatility of Python.

Here's the bad part:  The book often demonstrates one concept by using code
that includes other complex concepts without explaining them.  If you know
some Python, you'll be fine, but the authors regularly include code that
won't be explained until later, so the examples have quite a bit of "magic"
in them.  I think the examples that baffled me were when they were trying
to explain something simple, but use a function like "map" (before it had
been explained) in the code when it wasn't even necessary.  I also seem to
recall that they use "import" for quite some time before explaining what it
does.  The idiom
if (__name__=="__main__"):
is also used without immediate explanation.  I know my way around Python
pretty well, and there were a few times that I thought, "I would NEVER have
understood this if I didn't already know what's going on here."

Having said all that, I really think this is a great book, butit is not for
beginners, as the authors clearly state in the first few pages.  If you
know the basics of Python and need instruction (and examples) of more
advanced topics, this is the book for you.  One of the coolest things about
this book is that it includes the newest features of the Python language.
It really does cover Python 2.1, and it points out when a language feature
is Python 2.0 or 2.1 specific.

Incidentally, I also own Programming Python, Learning Python, and Teach
Yourself Python in 24 Hours, but I've been using the Python 2.1 Bible the
most the last few weeks.  It is a great reference of advanced topics.  For
total beginners, I would certainly recommend Teach Yourself Python.  For
someone who's programmed before in any language, Learning Python is great.
Dive into Programming Python once you've read some other Python book.  The
Python 2.1 Bible reminds me of Programming Python since it's a good second
book, but a lousy first book.

Blake Garretson