Learning Python

Here's a collection of free resources for learning python and programming.

Python for Software Development

Python for Software Development which was initially a port of How to Think Like a Computer Scientist from Java to Python. It is forthcoming from Cambridge University Press and will be published in the first quarter of 2009. The manuscript is available for free as a PDF under the title Think Python.

This book introduces computer science from first pricipals and introduces:

  • Variables
  • Functions
  • Recursion
  • Fundamental Data structures (Lists and Maps)

The Python Tutorial

Python has an excellent official tutorial. It covers:

  • The Python Interpreter
  • Python's Flow Control Statements
  • Python's Built-in Data Structures (Lists, Sets, Dictionaries)
  • Python's Modules
  • I/O
  • Errors, Exceptions, Classes, etc.

Dive Into Python

Dive Into Python is an excellent book for learning Python provided you already know how to program. It is published by Apress, but is also freely available online. It covers more advanced topics such as:

  • Introspection
  • Regular Expressions
  • HTML and XML Processing
  • HTTP and SOAP Web Services
  • Unit Testing and Test First Programming
  • Refactoring
  • Functional Programming