1. Introduction
This reference manual describes the Python programming language. It is not intended as
a tutorial.
While I am trying to be as precise as possible, I chose to use English rather than
formal specifications for everything except syntax and lexical analysis. This should make
the document more understandable to the average reader, but will leave room for
ambiguities. Consequently, if you were coming from Mars and tried to re-implement Python
from this document alone, you might have to guess things and in fact you would probably
end up implementing quite a different language. On the other hand, if you are using Python
and wonder what the precise rules about a particular area of the language are, you should
definitely be able to find them here. If you would like to see a more formal definition of
the language, maybe you could volunteer your time -- or invent a cloning machine :-).
It is dangerous to add too many implementation details to a language reference document
-- the implementation may change, and other implementations of the same language may work
differently. On the other hand, there is currently only one Python implementation in
widespread use (although a second one now exists!), and its particular quirks are
sometimes worth being mentioned, especially where the implementation imposes additional
limitations. Therefore, you'll find short ``implementation notes'' sprinkled throughout
the text.
Every Python implementation comes with a number of built-in and standard modules. These
are not documented here, but in the separate Python Library Reference
document. A few built-in modules are mentioned when they interact in a significant way
with the language definition.
|