Python
About this page
-
I discovered Python in February of 2000, and my life has not been the same. It
is great for a multitude of reasons - for me, it has restored a great deal of
"can-do" feeling towards coding (which C++ had somewhat sucked away). Simple
things are pretty simple, and complex things are possible.
My Projects
I've been working at Enthought since October 2004. I work on various apps for customers as well as several open-source projects:
Kiva, a cross-platform vector drawing library for Python. It is based on the DisplayPDF specification (like Mac OS X's Quartz 2D library), and renders text and graphics onto PDF, PS, and image files as well as WX and Mac OS native widgets.
Chaco, an interactive plotting application toolkit.
Random Code
- mbox2mdir.py - A conversion utility that takes CommuniGate Pro .mbox files and splits them into separate emails in mdir format.
- getpic2.py - a CGI that takes a directory name as its argument and returns an "<img src=...>" tag that references a random image file inside that directory. Uses netpbm to pre-scale the selected image if it exceeds a certain maximum height. You can see this CGI in action here.
Useful links
- Python Library Reference: built-ins string os time
- comp.lang.python
- Python Infrequently-asked Questions
- Stackless Python
- PEPs
- wxPython Manual
- Boost.Python
- Twisted network application framework
- Plone
Python Tutorials
Part of the problem with the web is the proliferation of content and the lack of proper filtering. There are many python tutorial scattered about the web, but which one should you start with? I've looked through several of them and have distilled the list to the following (along with my comments):
- The "official" Python Tutorial
If you have programmed before and are familiar with concepts like strings, functions, etc., this is a good way to get started quickly with Python data structures and syntax. -
Dive Into Python
A good tutorial for experienced programmers and serves as a useful refresher. Not recommended for true beginners who have little or no programming experience. -
"An Introduction to Python"
This is a good overview for the system administrator or C++ coder considering using Python for his next project. (Or, more likely, just researching what all the fuss is about.) Has some nice line-by-line decompositions of real, useful Python programs. -
Instant Python
This is a great introduction for the more experienced programmer. Concise, readable, and useful. It assumes a certain amount of familiarity with the paradigms of procedural languages, so I would not recommend it to people who have only done simple scripting or BASIC programming. - Python Programming Tutorial
A very thorough but slow-paced introduction to Python as well as general programming ideas. (The author spends lots of text explaining basic things like comments, expressions, literals, etc. which should be pretty obvious to more experienced programmers.) This one serves a slightly less advanced audience than the official Python tutorial, so if you find that one confuses you, or you want a second text to refer to, this should do nicely.