Python is an increasingly popular language, and it's also a favorite language teaching first time programmers. We've compiled a list of beginner's books to choose from.

Just because they're free doesn't mean they aren't good. Some of the books listed here have been used in courses such as MIT's Introduction to Computer Science and Programming course and University of California, Davis' Basic Concepts of Programming course.

A Byte of Python

A Byte of Python is a beginner's book on Python by Swaroop C H. "If all you know about computers is how to save text files, then this is the book for you," the site says.

It's been used in several academic programs, such as the above mentioned UC Davis course, and by the NASA Jet Propulsion Laboratory.

It's available for both Python 2.X and 3.0, but only the 3.0 version is still updated. A hard copy version is available.

Learn Python the Hard Way

Learn Python the Hard Way is a beginner's programming book written by Zed Shaw. It was written for Python 2.6.

Shaw is known as the creator of the Mongrel and Mongrel2 Web servers, and more recently as the author of this lively manifesto.

Non-Programmer's Tutorial for Python

Non-Programmer's Tutorial for Python 2.6 and on-Programmer's Tutorial for Python 3 are products of the WikiBooks project.

Python Programming

Python Programming is another WikiBooks guide to Python. It's one of the texts of the MIT course mentioned above.

The Python Tutorial

The Python Tutorial is the official tutorial from the Python project. It's used in the MIT course. You can find a tutorial for Python 2.7 here and for 3.0 here.

Think Python

Think Python: An Introduction to Software Design was written by Allen B. Downey an Associate Professor of Computer Science at the Franklin W. Olin College of
Engineering. It's is available in multiple formats, including a hard copy, here. It was written before Python 3.0, but has been updated with footnotes to explain discrepancies.

There are a few variations of this book which may cause some confusion. Think Python is the online version of Python for Software Design: How to Think Like a Computer Scientist, which is an updated version of How to Think Like a Computer Scientist: Learning with Python. It has also been ported into other language such as C++, Java and Ruby.

Downey has several other computer science books available for free from his publishing company Green Tea Press.

See Also

6 Free JavaScript E-Books and Tutorials