by Mark Pilgrim
I used to do the odd bit of Python programming a few years ago and as part of a recent position. I hadn't done any for a year or more and when I came to pick it up again, to write some acceptance tests for a .Net command line application, I found I could hardly remember anything. So I asked some people about good refresher books. Dive Into Python came dubiously recommended.
Dive Into Python is a great book, once you get used to the chatty style and things like “...actually, what I just told you was a lie. The truth is....” and “....you didn't really think that did you? Go and sit in the naughty corner!” Each chapter builds on the next and has copious amounts of examples, all of which are explained in detail line by line. The domain of all the examples are simple and extremely well thought out.
The web service chapters aren't really about web services, but web service clients. I found this rather disappointing. I skipped the chapters on XML manipulation and regular expressions. The chapter on dynamic functions says that you should read the chapter on regular expressions first, but there's really no need as all the regular expressions are explained in detail. The unit testing chapters are very good. The functional chapter is really just an extension of the unit testing chapters. Following the optimisation chapter, the final 20% of the book is appendices.
Dive into Python is available for free here.