Think Python 2e

I am hard at work on the second edition of Think Python.  The current draft is up now at

New features include:

  1. Python 3!  The first edition is mostly Python 2, with notes about some of the differences in Python 3.  The second edition is the other way around: all Python 3, with a couple of notes about Python 2.
  2. All the supporting code runs under Python 3 and Python 2.
  3. I’ve added a new chapter called “The Goodies” that includes handy Python features that didn’t make the first cut, including list comprehensions, sets, namedtuples, and my personal favorite under-appreciated data structure, Counters.
  4. In the turtle graphics case study (Chapter 4), I’ve replaced my home grown package, Swampy, with the standard module turtle.  I hear from a lot of people having trouble installing Swampy, so this change should make life easier, for them and me.
  5. For beginners, I am working on instructions for starting out running Python in a browser, using PythonAnywhere.  That way, people can get right into Python without dealing with installation issues.

The draft for technical review is due next week.  We’ve got an excellent group of reviewers lined up; I am looking forward to their feedback.  Publication date is not set yet, but should be some time this fall.