People sometimes ask me to recommend a book for learning to program or a book on Python. If you want both in one book, i.e. to learn Python as a first programming language, take a look at Allen Downey’s new book Think Python.
If you’re an experience programmer and just want a book on the specifics of Python, I’d recommend David Beazley’s Python Essential Reference.
These two books are at opposite ends of the scale. Downey’s book is a very gentle introduction to programming. He takes the time to explain things that authors often don’t realize need to be explained. Beazley’s book is all about Python per se, not programming. The title says “reference,” and it does make a good reference, but you could sit down and read through the first half of the book. The second half of the book really is more of a reference.
I can second “Python Essential Reference”. I learned Python using that book and still use it as the standard for comparing technical books.
Hey John, Downey also did a companion book called “Think Complexity” that acts as a follow-on from “Think Python”:
http://greenteapress.com/complexity/
Introducing more data structures, algorithms, time complexity and all the other entry level comp-sci material you usually see. The best part of it is that it presents real-world examples and problems; and of course, it’s written in Python so I can’t think of a better book for anyone looking to get a taste for “theory” and its applications, especially those who are scared by a big 1000-page tome requiring Java…
I recently bought a copy of Think Python and thought it was a nice book. Will check out the essential Reference next time.
Think Python is a free book under Creative Commons license. I think it deserves a link to its web page: http://www.greenteapress.com/thinkpython/
There are free HTML and PDF versions too, for those who want to try before buying, as well as links to several translations and adaptations.
Is Python Essential Reference (4th Edition) still up2date regarding Python 3?
Just asking because it dates back in 2009…