There are MANY references for the Python programming language, but here a few standard ones that are pretty good.
- The official website: www.python.org
Here you can download python for your platform, browse official documentation, and find links to other Python related resources around the web. - The EASIEST way to get python and almost all the modules we will need is to install the Enthought Python Distribution (EPD) which packages a whole host of scientific modules. It is free for educational users like us (look for the "Academic Download" page) and is the environment we will be using in class. The link for the academic version is at the bottom of the linked page. You fill out a short form and they will email you a link to download the package. There is also a more limited "EPD-Free" package that anyone can download.
- In the last year, Enthought has released a python integrated development environment (IDE) called "Canopy". I have found it generally quite nice, but periodically buggy. As a student you can install it for free (look for the "Academic License" link on the download page.
- A good general Python book is "Beginning
Python: From Novice to Professional" by Magnus Lie
Heland. Although there are MANY general python books now, this
one has been around for a while and progresses from the basics
to non-trivial real world examples in a clear way. Amazon
link.
- Byte of Python:[PDF]
This
is an open source introductory book by C.H. Swaroop (in PDF) on
the Python programming language for
Python version 2.x. I find it a useful reference to
have around. We will be using version 2.7 in this class.
However Python 3 has been out for about 1.5 years, so I have
posted Swoop's updated Byte
of Python for Python 3 as well.
- Python Handbook:[PDF] This is based on a trial by Micheal Williams to teach the Computational Physics course at Oxford (UK) using Python. It is not the most polished and somewhat specific to their system, but is geared more toward scientific computing.
- The Matplotlib (pylab) manual [HTML]. Here also is a PDF file to store locally. Latest version is 1.4
- The Numpy and Scipy documentation page: Lots of functions and features related to things scientists do on computers.
- "A Primer on
Scientific Computing" website: download all programs in
the book, associated lecture slides, ....
- Matplotlib
(pylab): A useful plotting library with sytax very
similar to Matlab. (included with EPD)
- Numpy and Scipy: Pretty much the broadest scientific and mathematical python libraries in very active development. (included with EPD)
- Visual Python (Vpython):
Provides a nice set of 3D graphics capabilities which are simple
and intuitive. (NOT included with EPD)
- TextWrangler:
a good Mac based code editor.
- Komodo Editor: A nice cross platform and newly open sourced code editor.
- EPD Canopy: Polished IDE from Enthought. Nice user interface & free for academics, but does crash regularly if running sophisticated visualization or interactivity.