Notice: While JavaScript is not essential for this website, your interaction with the content will be limited. Please turn JavaScript on for the full experience.
Python 2.5.3 Documentation Download all these documents (Many formats are available, including typeset versions for printing.) Locate previous versions What's New in Python 2.5 (changes since previous major release) Tutorial (start here) Global Module Index (for quick access to all modules) Library Reference (keep this under your pillow) Macintosh Library Modules (this too, if you use a Macintosh) Language Reference (for language lawyers) Extending and Embedding (tutori...
Download Python 2.5.3 Documentation To download an archive containing all the documents for this version of Python in one of various formats, follow one of links in this table. The numbers in the table are the size of the download files in Kilobytes. Content Format ZIP BZip2 HTML 4.0M 1.6M PDF (US-Letter) 5.3M 5.3M PDF (A4) 5.3M 5.3M PostScript (US-Letter) 2.5M 1.8M PostScript (A4) 2.5M 1.8M Contents These archives contain the following documents: What's New in Python 2...
Python 2.5.4 Documentation Download all these documents (Many formats are available, including typeset versions for printing.) Locate previous versions What's New in Python 2.5 (changes since previous major release) Tutorial (start here) Global Module Index (for quick access to all modules) Library Reference (keep this under your pillow) Macintosh Library Modules (this too, if you use a Macintosh) Language Reference (for language lawyers) Extending and Embedding (tutori...
Download Python 2.5.4 Documentation To download an archive containing all the documents for this version of Python in one of various formats, follow one of links in this table. The numbers in the table are the size of the download files in Kilobytes. Content Format ZIP BZip2 HTML 4.0M 1.6M PDF (US-Letter) 5.3M 5.3M PDF (A4) 5.3M 5.3M PostScript (US-Letter) 2.5M 1.8M PostScript (A4) 2.5M 1.8M Contents These archives contain the following documents: What's New in Python 2...
Python Copyright Python Copyright Historical note: This page describes the Python license used for Python versions up to and including Python 1.6a2. CNRI released Python 1.6b1 and the final Python 1.6 release under a different license, which is open source compliant, but not compatible with the GPL (the only incompatibility being the inclusion of a choice-of-law clause). More recent PSF releases, in particular 2.0.1, 2.1.1, and all releases since then, are GPL-compatible. Most P...
Python Documentation Index Python Essays In this directory I place short essays (anything from 500 to 5000 words) on various Python subjects. See also a collection of presentations I have given. See also my blog at blogspot.com and my previous blog at artima.com. --Guido van Rossum Table of contents (in mostly chronological order) Unifying types and classes in Python 2.2 (See below) Foreword for "Programming Python" (1st ed.) Written in 1996, this gives an overview of the earl...
What is Python? Executive Summary What is Python? Executive Summary Python is an interpreted, object-oriented, high-level programming language with dynamic semantics. Its high-level built in data structures, combined with dynamic typing and dynamic binding, make it very attractive for Rapid Application Development, as well as for use as a scripting or glue language to connect existing components together. Python's simple, easy to learn syntax emphasizes readability and therefore r...
Proposed Improvements to Module Cleanup Proposed Improvements to Module Cleanup I'm experimenting with a better way of cleaning up at the end of an execution run. Without implementing true GC, I can never do it 100% right, but I can implement a predictable set of rules based on practical observation that will solve most problems that are actually observed. Here's my proposal. At the end of this message I list some potential problems with the proposal and ask for feedback. This wi...
Comparing Python to Other Languages Comparing Python to Other Languages Disclaimer: This essay was written sometime in 1997. It shows its age. It is retained here merely as a historical artifact. --Guido van Rossum Python is often compared to other interpreted languages such as Java, JavaScript, Perl, Tcl, or Smalltalk. Comparisons to C++, Common Lisp and Scheme can also be enlightening. In this section I will briefly compare Python to each of these languages. These comparison...
Computer Programming for Everybody Computer Programming for Everybody This is the text of a revised funding proposal that we sent to DARPA in August 1999. In March, we heard that at least an earlier version of the proposal was accepted by DARPA; the work has begun late 1999 and will hopefully last two years, although we've only received funding for the first year (through October 2000). We're keeping our fingers crossed for the rest. Unfortunately, the move of the Python developm...
Computer Programming for Everybody Computer Programming for Everybody This is the main text of a funding proposal that we sent to DARPA in January 1999. In August 1999, we submitted a revised version of the proposal. Please look at the EDU-SIG home page (Python in Education Special Interest Group). This is where the current project status is described and/or will be discussed, and where you'll find pointers to more resources. Note:I have made one change to the text of the propos...
Foreword for "Programming Python" (1st ed.) Foreword for "Programming Python" (1st ed.) This is the foreword I wrote for Mark Lutz' book "Programming Python" (1st ed.), published by O'Reilly. See also my foreword to the 2nd edition. As Python's creator, I'd like to say a few words about its origins, adding a bit of personal philosophy. Over six years ago, in December 1989, I was looking for a "hobby" programming project that would keep me occupied during the we...
Foreword for "Programming Python" (2nd ed.) Foreword for "Programming Python" (2nd ed.) This is the foreword I wrote for Mark Lutz' book "Programming Python" (2nd ed.), published by O'Reilly in 2001. Less than five years ago, I wrote the foreword for the 1st edition of Programming Python. Since then, the book has changed about as much as the language and the Python community! I no longer feel the need to defend Python: the statistics and developments listed in Mark's ...
Python Patterns - Implementing Graphs Warning This page stays here for historical reasons and it may contain outdated or incorrect information. Change notes: 2/22/98, 3/2/98, 12/4/00: This version of this essay fixes several bugs in the code. 6/10/19: Retraction of find_shortest_path as "nearly optimal". 8/11/19: Fix accidental usage of find_graph() instead of find_path() Copyright (c) 1998, 2000, 2003, 2019 Python Software Foundation. All rights reserved. License...
Python Patterns - An Optimization Anecdote Warning This page stays here for historical reasons and it may contain outdated or incorrect information. The other day, a friend asked me a seemingly simple question: what's the best way to convert a list of integers into a string, presuming that the integers are ASCII values. For instance, the list [97, 98, 99] should be converted to the string 'abc'. Let's assume we want to write a function to do this. The first version I came ...
Metaclasses in Python 1.5 Metaclasses in Python 1.5 (A.k.a. The Killer Joke :-) (Postscript: reading this essay is probably not the best way to understand the metaclass hook described here. See a message posted by Vladimir Marangozov which may give a gentler introduction to the matter. You may also want to search Deja News for messages with "metaclass" in the subject posted to comp.lang.python in July and August 1998.) In previous Python releases (and still in 1.5), there ...
Glue It All Together With Python Glue It All Together With Python Guido van Rossum CNRI 1895 Preston White Drive Reston, VA 20191 Email: guido@cnri.reston.va.us, guido@python.org Position paper for the OMG-DARPA-MCC Workshop on Compositional Software Architecture in Monterey, California, January 6-8, 1998. Introduction Python is an advanced scripting language that is being used successfully to glue together large software components. It spans multiple platforms, mid...
Built-in Package Support in Python 1.5 Built-in Package Support in Python 1.5 Starting with Python version 1.5a4, package support is built into the Python interpreter. This implements a slightly simplified and modified version of the package import semantics pioneered by the "ni" module. "Package import" is a method to structure Python's module namespace by using "dotted module names". For example, the module name A.B designates a submodule named B in a package named A. Just like...
Parade of the PEPs Parade of the PEPs To start off Developer's Day at the Python10 conference I gave a keynote ending in what I dubbed "the parade of the PEPs". It was a brief overview of all open PEPs, where I gave my highly personal and subjective opinion for each PEP. Later, I realized that this might have been of interest to other developers. I didn't take notes at the conference, so below is a different set of comments that I created from scratch during a single two-hour sitt...
Debugging Reference Count Problems Warning This page stays here for historical reasons and it may contain outdated or incorrect information. Debugging Reference Count Problems From: Guido van Rossum <guido@CNRI.Reston.VA.US> To: python-list@cwi.nl Date: Wed, 27 May 1998 11:09:40 -0400 Mike Fletcher wrote a number of posts about debugging C code that bombs, probably because of reference count problems. His approach to debugging this problem seems typical, but I thin...
If you didn't find what you need, try your search in the Python language documentation.