Following the model of:

Provide QUALITY books and their approximate skill level in your answer. Add a short blurb/description about each book that you have personally read/benefited from. Books that meet the criteria will be added to the official community wiki answer.

Preferably, only outstandingly good books on Python 2 should be included as Python 3 is the future.

A tag search for "Python" and "Books" returns no complete book list results as of writing this question.

See also the Python Official Documentation and, from the official wiki, Python Books.


This answer is to provide a reference of QUALITY books and an approximate skill level. Feel free to debate quality, headings, etc in your anwers or in the comments.


  1. Python Essential Reference - David Beazley
  2. Python in a Nutshell - Alex Martelli
  3. Python Pocket Reference - Mark Lutz


  1. Programming in Python 3: A Complete Introduction to the Python Language - Mark Summerfield
  2. Python Programming: An Introduction to Computer Science - John Kelle
  3. Head First Python - Paul Barry


  1. Programming Python - Mark Lutz
  2. Dive Into Python 3 - Mark Pilgrim


  1. Python Algorithms: Mastering Basic Algorithms in the Python Language - Magnus Lie Hetland
  2. Porting to Python 3: An in-depth guide - Lennart Regebro
  3. Python for Unix and Linux System Administration - Noah Gift and Jeremy M. Jones

One book the above forgot that's excellent is Think Python, available at http://thinkpython.com That's for an introductory to computer science with Python. Excellent book, especially since it's free.

Also check out the Python section here: List of freely available programming books


Dive Into Python

Dive Into Python -- Intermediate

I've read a ton of other python books, and Dive into Python is certainly my favorite. Oh, by the way, it's free. If you already know a language like C/Java/Perl this is the quickest way to get cracking with python-- this book doesn't waste your time with stuff you already know.



Invent your own computer games with Python by Al Sweigart


Machine Learning: An Algorithmic Perspective by Stephen Marsland