Python is a mature, powerful, fully object-oriented programming language with portability rivaling that of Java. Despite these strengths, it still maintains a cult status: Those who know about it typically love it; the rest of the world knows little, if anything, about it. In this article, I’ll provide you with a list of Python resources so you can learn more about the language and get started using it.

Getting started
If you are just getting started with Python, you’ll need a distribution. The official distribution includes both command-line and GUI interpreters, sample code, and a full set of documentation. An alternative distribution, called ActivePython, is available from ActiveState, the vendor of several utilities and tools for Python. What’s the difference between the two?

ActivePython is available in binary format for Windows, Linux, and Solaris, while “regular” Python has been ported to a few more operating systems but can only be downloaded as source code for some of them. ActivePython includes several enhancements over Python and comes with a few more standard libraries as well. If you’re a rank beginner with the Python language, I’d recommend skipping ActivePython for the time being.

Once you have Python, you’ll likely want to learn how to use it, unless of course you just like collecting pretty icons on your desktop. A number of Python tutorials are available on the Web:

  • The “official” Python documentation includes an extensive tutorial and is probably the best place to start.
  • Instant Python is a “minimal crash course in the Python programming language,” taking the reader through control structures, input, output, classes, and variables in a few pages with code examples sprinkled in.
  • Dive Into Python is a comprehensive tutorial in e-book form aimed toward experienced programmers moving to Python from Perl, Java, or Visual Basic.
  • The What, Why, Who, and Where of Python” is an older article from UnixWorld that illustrates how to accomplish some simple tasks with Python, like e-mailing “irritating messages” to a list of “victims.”

General information and resources
Once you have your feet on the ground and start to use Python, you’ll likely have some questions or want some more information on a topic. For that, you’ll need a reference library of Web resources. Here are some good ones:

  • The Vaults of Parnassus is a large Python code library with literally thousands of Python modules available, including database programming, graphics manipulation, and Internet programming. There are also some complete applications with source available for download.
  • Starship Python is a free community Web site hosted by Digital Creations, with a general information library and member, or “crew,” directory.
  • O’Reily Network’s has a Python development section where readers can find news, forums, a question-and-answer feature, and articles on a variety of programming topics.
  • maintains the Python knowledge base, a searchable repository of answered Python questions submitted by users.
  • Python-URL! is Doctor Dobb’s Journal’s weekly e-mail summary of all Python-related news, announcements, and Internet newsgroup activity.
  • A variety of e-mail discussion lists are available for Python. If you can’t find an answer on the Web, a Python guru could be just an e-mail away.

Embedding resources
Python can make an excellent extension or scripting language when embedded into a larger application. This is the center of a lot of Python activity lately. First, we have theKompany’s VeePee, which is a GUI-enabled scripting environment designed to be embedded into, and provide scripting support for, Linux GNOME or KDE applications. ActiveState, once again, has an experimental implementation of Python for .NET, which allows Python to inherit and access objects from the .NET framework and provide scripting support for other .NET languages.

IDEs and editors
As everyone who knows me knows, I am an IDE addict: I need code completion, pop-ups, menus, and toolbars to be comfortable when I’m coding. I know I’m not alone here. Fortunately for those of us suffering from this addiction, there are some nice Python IDEs available, although not all of them are free:

  • PythonWorks is a commercial-quality IDE featuring a Tkinter GUI builder, code repository, debugger, “smart” editor, and online help. Versions are available for Windows, Linux, and Solaris for $395. A free evaluation is also available.
  • Wing IDE is a customizable IDE with macro support, code completion, a feature-rich debugger, and source management utilities. Wing is available for both Linux and Windows for around $100 and is free for use on a bonafide open source project. A free demo version is available.
  • PythonWin is a free Windows-only GUI creation tool that provides an interface library to the Microsoft Foundation Classes.
  • From our friends at ActiveState (can you tell they absolutely love Python?) we have a free, experimental plug-in IDE for Visual Studio.NET called Visual Python. Please don’t confuse Visual Python with theKompany’s VeePee; they are different products.

These resources should enable you to get started with Python and help you get the most out of it. Just remember: No one ever expects the Spanish Inquisition. (You didn’t really expect to get through a Python article without a shameless Monty Python reference, did you?)