Tutorials, Documentation and other References

Tutorials
 Tutorial 1:  for non-programmers http://www.honors.montana.edu/~jjc/easytut/easytut/
 Tutorial 2:  "A Byte of Python" http://www.byteofpython.info/
 Tutorial 3:  "Instant Python" http://www.hetland.org/python/instant-python.php
 Tutorial 4:  "Python Tutorial" http://www.python.org/doc/current/tut/tut.html
 Tutorial 5:  "Dive Into Python" http://diveintopython.org/
 Tutorial 6:  "How to think like..." http://www.ibiblio.org/obp/thinkCSpy/
 Tutorial 7:  "The What, Why... of Python" http://www.networkcomputing.com/.../tutorial/005/005.html

 
Documentation, FAQs, and Papers

Python 2.1 doc HTML format
HTML in downloadable ZIP file
HTML in downloadable .tgz file
Jython 2.0 doc Jython installation instructions
http://www.jython.org/docs/index.html
Python FAQ http://www.python.org/doc/FAQ.html
Python for Lisp Programmers -- in-depth analysis of Python and LISP language features http://www.norvig.com/python-lisp.html
http://www.strout.net/python/pythonvslisp.html
Python and Java: The Best of Both Worlds -- Jim Hugunin's 5 year-old paper describing rationale behind Jython http://www.python.org/.../proceedings/hugunin.html
Python Compared to Other Languages -- collection of language comparisons http://www.python.org/doc/Comparisons.html
Empirical comparison of C, C++, Java, Perl, Python, Rexx, and Tcl IEEE Computer paper (PDF)
Sample code sample code

 
Books

  Author Title Publisher Date ISBN Rating *
  Gauld "Learn to Program Using Python" Addison-Wesley 2000 0201709384   X2
  Lutz & Ascher "Learning Python, 5ed" O'Reilly 2013 1449355730   N3
  Ceder "The Quick Python Book, 2ed" Manning 2010 193518220X   N2, I3
  Beazley & Jones "Python Cookbook, 3ed" O'Reilly 2013 1449340377  N3, I3, A3
  Martelli "Python in a Nutshell, 2ed" O'Reilly 2006 0596100469  N2, I3, A3
  Pedroni & Rappin "Jython Essentials" O'Reilly 2002 0596002475   I3
  Lutz "Programming Python", 2nd ed O'Reilly 2001 0596000855   I2
  Matthew & Stones "Professional Linux Programming" Wrox 2000 1861003013   A2
  Brueck & Tanner "Python Bible" Hungry Minds 2001 0764548077   N2, I2
  Chun "Core Python Programming" Prentice Hall 2000 0130260363   N2, I2
  Grayson "Python and Tkinter Programming" Manning 1999 1884777813   I2
  McGrath "XML Processing with Python" Prentice Hall 2000 0130211192
  Beazley "Python Essential Reference" New Riders 1999 0735709017   I2
  Lundh "Python Standard Library" O'Reilly 2001 0596000960   I2
  Hammond "Python Programming on Win32" O'Reilly 2000 1565926218
  Christopher "Python Programming Patterns" Prentice Hall 2001 0130409561
  Thiruvathukal et al "Web Programming in Python" Prentice Hall 2001 0130410659   I1
  Hightower "Python Programming with Java Class Libs" Addison-Wesley 2001 0201616165
  Jones et al "Python and Xml" O'Reilly 2001 0596001282
  Fehily & Vick "Python for the World Wide Web" Peachpit 2001 0201748843
  Brown "Perl to Python Migration" Addison-Wesley 2001 0201734885
  Bill "Jython for Java Programmers" New Riders 2001 0735711119

* Rating: X = New to programming   0: I wouldn't
N = New to Python 1: OK... I suppose
I = Intermediate 2: Good
A = Advanced 3: Recommended

All the books assume you have some programming background, with the exception of Learn to Program (Gauld). Gauld's book is an good starting point for non-programmers.

Learning Python (Lutz & Ascher) is, perhaps the best tutorial. The Quick Python Book (McDonald) could make the same claim. I think its a matter of style. Lutz is more narrative; McDonald can also double as a basic language reference.

Python Cookbook (Martelli) is a large collection of handy templates for all sorts of programming problems. I highly recommend this book to all Python programmers, beginner and advanced alike.

Core Python Programming (Chun) and Python Bible (Brueck) are OK, but I still prefer Lutz and McDonald.

Programming Python (Lutz) is arguably a best second book.

Python Essential Reference (Beazley) provides reference info for all the standard librarys. It, however, has few examples. Conversely, Python Standard Library (Lundh) has examples but lacks an API reference. Duh?

Depending on your interests, XML Processing (McGrath), Python and Tkinter (Grayson), Programming on Win32 (Hammond) are appropriate choices.

Programming Patterns (Christopher) also teaches you Python but is somewhat disappointing in that I expected more advanced material as its title suggests. The author's definition of a pattern includes data structures which explains some of the book's content.

Web Programming (Thiruvathukal et al) covers a lot of material to relative newcomers fairly well. It is a big undertaking to attempt Linux, Apache, networking protocols and the Internet, MySQL, Python CGI programming, a Python web site framework, and a Python Wiki installation all in one book. Aggressive? Definitely, but their explanations seem decent and I think they accomplished their goal. Anticipate needing supplemental texts however.

If you are an intermediate, don't overlook Professional Linux Programming (Matthew & Stones). It covers much of the same material as Thiruvathukal, but at a deeper level.

 
Important links

official Python site http://www.python.org
official Jython site http://www.jython.org
Python Introduction, Resources and FAQs http://www.whoishostingthis.com/resources/python/
Python Cookbook -- useful code fragments http://aspn.activestate.com/ASPN/Cookbook/Python
ActiveState -- vendor http://www.activestate.com