Files
1999-python/quick-ref1_52.html
2025-03-05 12:24:43 +01:00

2697 lines
165 KiB
HTML

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="GENERATOR" content="Mozilla/4.5 [fr] (WinNT; I) [Netscape]">
<title>A Python Quick Reference</title>
<link rev="made" href="mailto:derek@cc.bellcore.com (Derek Fields)">
</head>
<body>
<center>
<h1>
Python 1.52 Quick Reference</h1></center>
<hr>
<br><font size=-1>&nbsp;<i>1999/06/04, upgraded by Richard Gruet, <a href="mailto:rgruet@ina.fr">rgruet@ina.fr</a>
from V1.3 ref: 1995/10/30, by Chris Hoffmann, <a href="mailto:choffman@vicorp.com">choffman@vicorp.com</a></i></font>
<p><font size=-1>Based on:</font>
<br><font size=-1>&nbsp;&nbsp;&nbsp; Python Bestiary, Author: Ken Manheimer,
ken.manheimer@nist.gov</font>
<br><font size=-1>&nbsp;&nbsp;&nbsp; Python manuals, Author: Guido van
Rossum, <a href="mailto:guido@CNRI.Reston.Va.US">guido@CNRI.Reston.Va.US</a>,
<a href="mailto:guido@python.org">guido@python.org</a></font>
<br><font size=-1>&nbsp;&nbsp;&nbsp; python-mode.el, Author: Tim Peters,
<a href="mailto:tim_one@email.msn.com">tim_one@email.msn.com</a></font>
<br><font size=-1>&nbsp;&nbsp;&nbsp; and the readers of <a href="news:comp.lang.python">comp.lang.python</a></font>
<p><font size=-1>Python site: <a href="http://www.python.org/">http://www.python.org</a></font>
<br>
<hr>
<h2>
Contents</h2>
<menu>
<li>
<a href="#Invocation">Invocation Options</a></li>
<li>
<a href="#Environment">Environment Variables</a></li>
<li>
<a href="#Terms">Terms Used In This Document</a></li>
<li>
<a href="#LexEnt">Lexical Entities</a></li>
<li>
<a href="#BasicTypes">Basic Types And Their Operations</a></li>
<li>
<a href="#AdvTypes">Advanced Types</a></li>
<li>
<a href="#Statements">Statements</a></li>
<li>
<a href="#BuiltIn">Built In Functions</a></li>
<li>
<a href="#BuiltInExc">Built In Exceptions</a></li>
<li>
<a href="#SpecialMethods">Standard methods &amp; operators redefinition
in user-created Classes</a></li>
<li>
<a href="#typeAttributes">Special informative state attributes for some
types</a></li>
<li>
<a href="#ImportantModules">Important Modules</a> : <a href="#sysModule">sys</a>,
<a href="#osModule">os</a>,
<a href="#posixModule">posix</a>,
<a href="#posixpathModule">posixpath</a>,
<a href="#stringModule">string</a>,
<a href="#reModule">re</a>,
<a href="#mathModule">math</a>,
<a href="#getoptModule">getopt</a></li>
<li>
<a href="#OtherModules">List of modules In base distribution</a></li>
<li>
<a href="#Workspace">Workspace Exploration And Idiom Hints</a></li>
<li>
<a href="#Emacs">Python Mode for Emacs</a></li>
<li>
<a href="#Debugger">The Python Debugger</a></li>
</menu>
<hr>
<h2>
<a NAME="Invocation"></a>Invocation Options</h2>
<pre><b>python</b> [-diOStuvxX?] [-c <i>command</i> | <i>script</i> | - ] [<i>args</i>]
&nbsp;&nbsp;&nbsp;&nbsp; -d&nbsp;&nbsp; debug output from parser (also PYTHONDEBUG=x)
&nbsp;&nbsp;&nbsp;&nbsp; -i&nbsp;&nbsp; inspect interactively after running script (also PYTHONINSPECT=x,.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; and force prompts, even if stdin appears not to be a terminal
&nbsp;&nbsp;&nbsp;&nbsp; -O&nbsp;&nbsp; optimize generated bytecode (set __debug__ = 0 =>s suppresses <i>assert</i>s)
&nbsp;&nbsp;&nbsp;&nbsp; -S&nbsp;&nbsp; don't imply 'import site' on initialization
&nbsp;&nbsp;&nbsp;&nbsp; -t&nbsp;&nbsp; issue warnings about inconsistent tab usage (-tt: issue errors)
&nbsp;&nbsp;&nbsp;&nbsp; -u&nbsp;&nbsp; unbuffered binary stdout and stderr (also PYTHONUNBUFFERED=x).
&nbsp;&nbsp;&nbsp;&nbsp; -v&nbsp;&nbsp; verbose (trace import statements) (also PYTHONVERBOSE=x)
&nbsp;&nbsp;&nbsp;&nbsp; -x&nbsp;&nbsp; skip first line of source, allowing use of non-unix
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; forms of #!cmd
&nbsp;&nbsp;&nbsp;&nbsp; -X&nbsp;&nbsp; disable class based built-in exceptions (for backward
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; compatibility management of exceptions)
&nbsp;&nbsp;&nbsp;&nbsp; -?&nbsp;&nbsp; Help!
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -c <i>command
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </i>Specify the command&nbsp; to&nbsp; execute&nbsp; (see&nbsp; next&nbsp; section).
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; This&nbsp; terminates the option list (following options are
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; passed as arguments to the command).
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <i>script</i> is the name of a python file (.py) to execute
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -&nbsp; read from stdin.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp; anything afterward is passed as options to python script or
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; command, not interpreted as an option to interpreter itself.
&nbsp;&nbsp;&nbsp;&nbsp; <i>args</i> are passed to script or command (in sys.argv[1:])</pre>
If no script or command, Python enters interactive mode.&nbsp;
<hr>
<h2>
<a NAME="Environment"></a>ENVIRONMENT VARIABLES</h2>
<dl>
<dt>
PYTHONHOME</dt>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Alternate <i>prefix</i>
directory (or <i>prefix</i>;<i>exec_prefix</i>). The default module search
path uses <i>prefix</i>/lib
<br>PYTHONPATH
<dd>
&nbsp;Augments the default search path for module files. The format is
the same as the shell's $PATH: one or more directory pathnames separated
by ':' or ';' without spaces around (semi-)colons!</dd>
<dd>
On Windows first search for Registry key HKEY_LOCAL_MACHINE\Software\Python\PythonCore\v.x.y\PythonPath</dd>
<br>(default value). You may also define a key named after your application
with a default string value giving
<br>the root directory path of your app.
<dt>
PYTHONSTARTUP</dt>
<dd>
&nbsp;If this is the name of a readable file, the Python commands in that
file are executed before the first prompt is displayed in interactive mode
(no default).</dd>
<dt>
PYTHONDEBUG</dt>
<dd>
&nbsp;If non-empty, same as -d option</dd>
<dt>
PYTHONINSPECT</dt>
<dd>
&nbsp;If non-empty, same as -i option</dd>
<dt>
PYTHONSUPPRESS</dt>
<dd>
&nbsp;If non-empty, same as -s option</dd>
<dt>
PYTHONUNBUFFERED</dt>
<dd>
&nbsp;If non-empty, same as -u option</dd>
<dt>
PYTHONVERBOSE</dt>
<dd>
&nbsp;If non-empty, same as -v option</dd>
<dt>
PYTHONCASEOK --to be verified--</dt>
<dd>
&nbsp;If non-empty, ignore case in file/module names (imports)</dd>
</dl>
<hr>
<h2>
<a NAME="Terms"></a>Terms Used In This Document</h2>
<dl COMPACT>
<dt>
<i>sequence</i></dt>
<dd>
a string, list or tuple</dd>
<dt>
<i>suite</i></dt>
<dd>
a series of statements, possibly separated by newlines. Must all be at
same indentation level, except for suites inside compound statements</dd>
<dt>
&lt;x></dt>
<dd>
in a syntax diagram means a token referred to as "x"</dd>
<dt>
[xxx]</dt>
<dd>
in a syntax diagram means "xxx" is optional</dd>
<dt>
x ==> y</dt>
<dd>
means the value of &lt;x> is &lt;y></dd>
<dt>
x &lt;=> y</dt>
<dd>
means "x is equivalent to y"</dd>
</dl>
<hr>
<h2>
<a NAME="LexEnt"></a>Notable lexical entities</h2>
<h3>
Keywords</h3>
<blockquote>
<pre>and&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; del&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; is&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; raise&nbsp;&nbsp;&nbsp;&nbsp;
assert&nbsp;&nbsp;&nbsp; elif&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lambda&nbsp;&nbsp;&nbsp; return&nbsp;&nbsp;&nbsp;
break&nbsp;&nbsp;&nbsp;&nbsp; else&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; global&nbsp;&nbsp;&nbsp; not&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
class&nbsp;&nbsp;&nbsp;&nbsp; except&nbsp;&nbsp;&nbsp; if&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; or&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while&nbsp;&nbsp;&nbsp;&nbsp;
continue&nbsp; exec&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; import&nbsp;&nbsp;&nbsp; pass&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
def&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; finally&nbsp;&nbsp; in&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print</pre>
</blockquote>
<ul>
<li>
(list of keywords in std module: keyword.py)</li>
<li>
Illegitimate Tokens (only valid in strings): @ $ ?</li>
<li>
A statement must all be on a single line. To break a statement over multiple
lines use "\", as with the C preprocessor. Exception: can always break
when inside any (), [], or {} pair, or in triple-quoted strings.</li>
<li>
More than one statement can appear on a line if they are separated with
semicolons (";").</li>
<li>
Comments start with "#" and continue to end of line.</li>
</ul>
<h3>
Identifiers</h3>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (letter | "_")&nbsp; (letter
| digit | "_")*
<ul>
<li>
Python identifiers keywords, attributes, etc. are <b>case-sensitive</b>.</li>
<li>
Special forms: <b>_</b><i>ident</i> (not imported by 'from module import
*'); <b>__</b><i>ident</i><b>__</b> (system defined name);</li>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>__</b><i>ident</i>
(class-private name mangling)</ul>
<h3>
Operators</h3>
<blockquote>&nbsp;+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; **&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %
<br>&lt;&lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; >>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&amp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
^&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ~
<br>&lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; >=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ==&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;></blockquote>
<h3>
Strings</h3>
<b>"</b>a string enclosed by double quotes<b>"</b>
<br><b>'</b>another string delimited by single quotes and with a " inside<b>'</b>
<br><b>'''</b>a string containing embedded newlines and quote (') marks,
can be
<br>delimited with triple quotes.<b>'''</b>
<br>""" may also use 3- double quotes as delimiters """
<br><b>r'</b>a raw string where \ are kept (literalized): handy for regular
expressions and windows paths!<b>'</b>
<br><b>R"</b>another raw string<b>"&nbsp;&nbsp;&nbsp; --</b> raw strings
cannot end with a \
<ul>
<li>
Use <b>\</b> at end of line to continue a string on next line.</li>
<li>
adjacent strings are concatened, e.g. 'Monty' ' Python' is the same as
'Monty Python'.</li>
</ul>
<h4>
String Literal Escapes</h4>
<pre>&nbsp;&nbsp;&nbsp;&nbsp; <b>\<i>newline</i></b>&nbsp; Ignored (escape newline)
&nbsp;&nbsp;&nbsp;&nbsp; <b>\\</b> Backslash (\)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>\e</b> Escape (ESC)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>\v</b> Vertical Tab (VT)
&nbsp;&nbsp;&nbsp;&nbsp; <b>\'</b> Single quote (')&nbsp;&nbsp;&nbsp;&nbsp; <b>\f</b> Formfeed (FF)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>\0OO</b>&nbsp; (zero) char with&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp; <b>\"</b> Double quote (")&nbsp;&nbsp;&nbsp;&nbsp; <b>\n</b> Linefeed (LF)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; octal value OO
&nbsp;&nbsp;&nbsp;&nbsp; <b>\a</b> Bell (BEL)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>\r</b> Carriage Return (CR)&nbsp;&nbsp;&nbsp; <b>\xXX</b>&nbsp; char with&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp; <b>\b</b> Backspace (BS)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>\t</b> Horizontal Tab (TAB)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hex value XX
&nbsp;&nbsp;&nbsp;&nbsp; <b>\<i>AnyOtherChar</i></b> is left as-is</pre>
<ul>
<li>
NULL byte (\000) is NOT an end-of-string marker; NULL's may be embedded
in strings.</li>
<li>
Strings (and tuples) are <u>immutable</u>: they cannot be modified.</li>
</ul>
<h3>
Numbers</h3>
Decimal integer: 1234, 1234567890546378940<b>L</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
(or <b>l)</b>
<br>Octal integer: <b>0</b>177, <b>0</b>177777777777777777L (begin with
a <b>0</b>)
<br>Hex integer: <b>0x</b>FF, <b>0X</b>FFFFffffFFFFFFFFFFL (begin with
<b>0x</b>
or <b>0X</b>)
<br>Long integer (unlimited precision): 1234567890123456<b>L</b> (ends
with <b>L</b> or<b> l</b>)
<br>Float (double precision): 3<b>.</b>14<b>e-10</b>, .001, 10., 1E3
<br>Complex: 1<b>J</b>, 2<b>+</b>3<b>J</b>, 4<b>+</b>5<b>j </b>(ends with
<b>J</b>
or <b>j, +</b> separates real and imaginary parts which are both floats)
<h3>
Sequences</h3>
<ul>
<li>
<u>String</u> of length 0, 1, 2 (see above)</li>
<br>'', '1', "12"
<li>
<u>Tuple</u> of length 0, 1, 2, etc:</li>
<br><b>()</b> (1,) (1,2)&nbsp;&nbsp;&nbsp;&nbsp; # parentheses are optional
if len > 0
<li>
<u>List</u> of length 0, 1, 2, etc:</li>
<br><b>[]</b> [1] [1,2]</ul>
Indexing is 0-based. Negative indices (usually) mean count backwards from
end of sequence.
<p>Sequence <u>slicing</u><b> [</b><i>starting-at-index</i> <b>: </b><i>but-less-than-index</i><b>].
</b>Start
defaults to '0'; End defaults to 'sequence-length'.
<ul>a = (0,1,2,3,4,5,6,7)
<br>a[3] ==> 3
<br>a[-1] ==> 7
<br>a[2:4] ==> (2, 3)
<br>a[1:] ==> (1, 2, 3, 4, 5, 6, 7)
<br>a[:3] ==> (0, 1, 2)
<br>a[:] ==> (0,1,2,3,4,5,6,7)&nbsp; # makes a <b>copy</b> of the sequence.</ul>
<h3>
Dictionaries (Mappings)</h3>
<u>Dictionary</u> of length 0, 1, 2, etc:
<br><b>{}</b> {1 : 'first'} {1 : 'first',&nbsp; 'next': 'second'}
<p>
<hr>
<h2>
<a NAME="BasicTypes"></a>Basic Types and Their Operations</h2>
<h3>
Comparisons (defined between *any* types)</h3>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; strictly less than&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; less than or equal&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; strictly greater than&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; >=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; greater than or equal&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ==&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; equal&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; !=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; not equal&nbsp; ( "&lt;>" is also allowed)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; is&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; object identity (are <b>objects</b> identical, not values)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; is not&nbsp; negated object identity</pre>
X &lt; Y &lt; Z &lt; W has expected meaning, unlike C
<h3>
Boolean values and operators</h3>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>False</b> values:&nbsp;&nbsp;&nbsp;&nbsp; None, numeric zeros, empty sequences and mappings
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>True</b> values:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; all other values
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>not</b> X: if X is false then 1, else 0
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; X <b>or</b> Y: if X is false then Y, else X
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; X <b>and</b> Y: if X is false then X, else Y
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ('or', 'and' evaluate second arg only if necessary to determine outcome)</pre>
<h3>
None</h3>
None is used as default return value on functions.
<br>Input that evaluates to None does not print when running Python interactively.
<h3>
Numeric types</h3>
<h4>
Floats, integers and long integers.</h4>
Floats are implemented with C doubles.
<br>Integers are implemented with C longs.
<br>Long integers have unlimited size (only limit is system resources)
<h4>
Operators on all numeric types</h4>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>abs</b>(x)&nbsp; absolute value of x&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>int</b>(x)&nbsp; x converted to integer&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>long</b>(x) x converted to long integer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>float</b>(x) x converted to floating point&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>-</b>x&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x negated&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>+</b>x&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x unchanged&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x <b>+</b> y&nbsp;&nbsp; sum of x and y&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x <b>-</b> y&nbsp;&nbsp; difference of x and y&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x <b>*</b> y&nbsp;&nbsp; product of x and y&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x <b>/</b> y&nbsp;&nbsp; quotient of x and y&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x <b>%</b> y&nbsp;&nbsp; remainder of x / y
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>divmod</b>(x, y) the tuple (x/y, x%y)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x <b>**</b> y&nbsp; x to the power y [same as: <b>pow</b>(x,y)]</pre>
<h4>
Bit operators on integers and long integers</h4>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>~</b>x&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; the bits of x inverted&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x <b>^</b> y&nbsp;&nbsp; bitwise exclusive or of x and y&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x <b>&amp;</b> y&nbsp;&nbsp; bitwise and of x and y&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x <b>|</b> y&nbsp;&nbsp; bitwise or of x and y&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x <b>&lt;&lt;</b> n&nbsp; x shifted left by n bits&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x <b>>></b> n&nbsp; x shifted right by n bits</pre>
<h4>
Complex Numbers</h4>
represented as a pair of machine-level double precision floating point
numbers.
<br>The real and imaginary value of a complex number z can be retrieved
through the
<br>attributes <u>z.real</u> and <u>z.imag</u>.
<h4>
Numeric exceptions</h4>
<dl COMPACT>
<dt>
TypeError</dt>
<dd>
raised on application of arithmetic operation to non-number</dd>
<dt>
OverflowError</dt>
<dd>
&nbsp;numeric bounds exceeded</dd>
<dt>
ZeroDivisionError</dt>
<dd>
&nbsp;raised when zero second argument of div or modulo op</dd>
</dl>
<h3>
Operations on all sequence types (lists, tuples, strings)</h3>
<center><table BORDER CELLPADDING=3 WIDTH="60%" BGCOLOR="#FFCC99" >
<tr BGCOLOR="#FFCC99">
<td><b>Operation</b></td>
<td>
<center><b>Result</b></center>
</td>
<td><b>Notes</b></td>
</tr>
<tr BGCOLOR="#FFFFCC">
<td><font face="Courier New,Courier"><i>x</i> <b>in</b> <i>s</i></font></td>
<td>1 if an item of <i>s</i> is equal to <i>x</i>, else 0</td>
<td></td>
</tr>
<tr BGCOLOR="#FFFFCC">
<td><font face="Courier New,Courier"><i>x</i> <b>not in</b> <i>s</i></font></td>
<td>0 if an item of <i>s</i> is equal to <i>x</i>, else 1</td>
<td>
<center>&nbsp;</center>
</td>
</tr>
<tr BGCOLOR="#FFFFCC">
<td><font face="Courier New,Courier"><i>s</i> <b>+</b> <i>t</i></font></td>
<td>the concatenation of <i>s</i> and <i>t</i></td>
<td></td>
</tr>
<tr BGCOLOR="#FFFFCC">
<td><font face="Courier New,Courier"><i>s </i><b>*</b> <i>n</i>, <i>n</i><b>*</b><i>s</i></font></td>
<td><i>n</i> copies of <i>s</i> concatenated</td>
<td>
<center>&nbsp;</center>
</td>
</tr>
<tr BGCOLOR="#FFFFCC">
<td><font face="Courier New,Courier"><i>s</i><b>[</b><i>i</i><b>]</b></font></td>
<td><i>i</i>'th item of <i>s</i>, origin 0</td>
<td>
<center>(1)</center>
</td>
</tr>
<tr BGCOLOR="#FFFFCC">
<td><font face="Courier New,Courier"><i>s</i><b>[</b><i>i</i><b>:</b><i>j</i><b>]</b></font></td>
<td>slice of <i>s</i> from <i>i</i> (included) to <i>j</i> (excluded)</td>
<td>
<center>(1), (2)</center>
</td>
</tr>
<tr BGCOLOR="#FFFFCC">
<td><font face="Courier New,Courier"><b>len</b>(<i>s</i>)</font></td>
<td>length of <i>s</i></td>
<td></td>
</tr>
<tr BGCOLOR="#FFFFCC">
<td><font face="Courier New,Courier"><b>min</b>(<i>s</i>)</font></td>
<td>smallest item of <i>s</i></td>
<td>
<center>&nbsp;</center>
</td>
</tr>
<tr BGCOLOR="#FFFFCC">
<td><font face="Courier New,Courier"><b>max</b>(<i>s</i>)</font></td>
<td>largest item of <i>(s</i>)</td>
<td>
<center>&nbsp;</center>
</td>
</tr>
</table></center>
<pre><u>Notes</u> :</pre>
&nbsp;&nbsp;<font size=-1>&nbsp; (1) if <i>i</i> or <i>j</i> is negative,
the index is relative to the end of the string, ie <font face="Courier New,Courier">len(<i>s</i>)+
<i>i</i></font>
or <font face="Courier New,Courier">len(<i>s</i>)+<i>j</i></font> is</font>
<br><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; substituted.
But note that -0 is still 0.</font>
<br><font size=-1>&nbsp;&nbsp;&nbsp; (2) The slice of <i>s</i> from <i>i</i>
to <i>j</i> is defined as the sequence of items with index <i>k</i> such
that <i>i &lt;= k &lt; j</i>.</font>
<br><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
If <i>i</i> or <i>j</i> is greater than<font face="Courier New,Courier">
len(<i>s</i>)</font>, use<font face="Courier New,Courier"> len(<i>s</i>)</font>.
If <i>i</i> is omitted, use len(<i>s</i>). If <i>i</i> is greater than
or</font>
<br><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
equal to <i>j</i>, the slice is empty.</font>
<h3>
Operations on mutable (=modifiable) sequences (lists)</h3>
<center><table BORDER CELLPADDING=3 WIDTH="70%" BGCOLOR="#FFFFCC" >
<tr BGCOLOR="#FFCC99">
<td><b>Operation</b></td>
<td>
<center><b>Result</b></center>
</td>
<td><b>Notes</b></td>
</tr>
<tr>
<td><font face="Courier New,Courier"><i>s</i><b>[</b><i>i</i><b>]</b> <b>=</b><i>x</i></font></td>
<td>item <i>i</i> of <i>s</i> is replaced by <i>x</i></td>
<td></td>
</tr>
<tr>
<td><i>s</i>[<i>i</i>:<i>j</i>] <b>=</b> <i>t</i></td>
<td>slice of <i>s</i> from <i>i</i> to <i>j</i> is replaced by <i>t</i></td>
<td>
<center>&nbsp;</center>
</td>
</tr>
<tr>
<td><font face="Courier New,Courier"><b>del</b> <i>s</i>[<i>i</i>:<i>j</i>]</font></td>
<td>same as <font face="Courier New,Courier"><i>s</i>[<i>i</i>:<i>j</i>]
= []</font></td>
<td></td>
</tr>
<tr>
<td><font face="Courier New,Courier"><i>s</i>.<b>append</b>(<i>x</i>)</font></td>
<td>same as <font face="Courier New,Courier"><i>s</i>[len(<i>s</i>) : len(<i>s</i>)]
= [<i>x</i>]</font></td>
<td>
<center>&nbsp;</center>
</td>
</tr>
<tr>
<td><font face="Courier New,Courier"><i>s</i>.<b>extend</b>(<i>x</i>)</font></td>
<td>same as <font face="Courier New,Courier"><i>s</i>[len(<i>s</i>):len(<i>s</i>)]=
<i>x</i></font></td>
<td>&nbsp;&nbsp; (5)</td>
</tr>
<tr>
<td><font face="Courier New,Courier"><i>s</i>.<b>count</b>(<i>x</i>)</font></td>
<td>return number of <i>i</i>'s for which <font face="Courier New,Courier"><i>s</i>[<i>i</i>]
== <i>x</i></font></td>
<td></td>
</tr>
<tr>
<td><font face="Courier New,Courier"><i>s</i>.<b>index</b>(<i>x</i>)</font></td>
<td>return smallest <i>i</i> such that <font face="Courier New,Courier"><i>s</i>[<i>i</i>]
== <i>x</i></font></td>
<td>
<center>(1)</center>
</td>
</tr>
<tr>
<td><font face="Courier New,Courier"><i>s</i>.<b>insert</b>(<i>i</i>, <i>x</i>)</font></td>
<td>same as <font face="Courier New,Courier"><i>s</i>[<i>i</i>:<i>i</i>]
= [<i>x</i>]</font> if <i>i</i> >= 0</td>
<td></td>
</tr>
<tr>
<td><font face="Courier New,Courier"><i>s</i>.<b>remove</b>(<i>x</i>)</font></td>
<td>same as <font face="Courier New,Courier">del <i>s</i>[<i>s</i>.index(<i>x</i>)]</font></td>
<td>
<center>(1)</center>
</td>
</tr>
<tr>
<td><font face="Courier New,Courier"><i>s</i>.<b>pop</b>(<b>[</b><i>i</i><b>]</b>)</font></td>
<td>same as x = s[i]; del s[i]; return x</td>
<td>&nbsp;&nbsp; (4)</td>
</tr>
<tr>
<td><font face="Courier New,Courier"><i>s</i>.<b>reverse</b>()</font></td>
<td>reverse the items of <i>s</i> in place</td>
<td>
<center>(3)</center>
</td>
</tr>
<tr>
<td><font face="Courier New,Courier"><i>s</i>.<b>sort</b>(<b>[</b><i>cmpFct</i><b>]</b>)</font></td>
<td>sort the items of <i>s</i> in place</td>
<td>
<center>(2), (3)</center>
</td>
</tr>
</table></center>
<p><u>Notes</u> :
<br>&nbsp;&nbsp;<font size=-1>&nbsp; (1) raise a ValueError exception when
<i>x</i>
is not found in <i>s</i> (i.e. out of range).</font>
<br><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp; (2) The sort() method takes
an optional argument specifying a comparison fct of 2 arguments (list items)
which should</font>
<br><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -1, 0, or 1 depending on whether the 1st argument is considered
smaller than, equal to, or larger than the 2nd</font>
<br><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
argument. Note that this slows the sorting process down considerably.</font>
<br><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp; (3) The sort() and reverse()
methods <b>modify</b> the list <b>in place</b> for economy of space when
sorting or reversing a large list.</font>
<br><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
They don't return the sorted or reversed list to remind you of this side
effect.</font>
<br><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp; (4) [<i>New 1.5.2</i>] The pop()
method is experimental and not supported by other mutable sequence types
than lists.</font>
<br><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
The optional&nbsp; argument i defaults to -1, so that by default the last
item is removed and returned.</font>
<br><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp; (5) [<i>New 1.5.2</i>] Experimental
! Raises an exception when x is not a list object.</font>
<br>&nbsp;
<br>&nbsp;
<h3>
Operations on mappings (dictionaries)</h3>
<center><table BORDER CELLPADDING=3 WIDTH="70%" BGCOLOR="#FFFFCC" >
<tr BGCOLOR="#FFCC99">
<td><b>Operation</b></td>
<td>
<center><b>Result</b></center>
</td>
<td><b>Notes</b></td>
</tr>
<tr>
<td><font face="Courier New,Courier"><b>len</b>(<i>d</i>)</font></td>
<td>the number of items in <i>d</i></td>
<td></td>
</tr>
<tr>
<td><font face="Courier New,Courier"><i>d</i><b>[</b><i>k</i><b>]</b></font></td>
<td>the item of <i>d</i> with key <i>k</i></td>
<td>
<center>(1)</center>
</td>
</tr>
<tr>
<td><font face="Courier New,Courier"><i>d</i>[<i>k</i>] <b>=</b> x</font></td>
<td>set <i>d</i>[<i>k</i>] to <i>x</i></td>
<td></td>
</tr>
<tr>
<td><font face="Courier New,Courier"><b>del</b> <i>d</i>[<i>k</i>]</font></td>
<td>remove <i>d</i>[<i>k</i>] from <i>d</i></td>
<td>
<center>(1)</center>
</td>
</tr>
<tr>
<td><font face="Courier New,Courier"><i>d</i>.<b>clear</b>()</font></td>
<td>remove all items from <i>d</i></td>
<td></td>
</tr>
<tr>
<td><font face="Courier New,Courier"><i>d</i>.<b>copy</b>()</font></td>
<td>a shallow copy of <i>d</i></td>
<td></td>
</tr>
<tr>
<td><font face="Courier New,Courier"><i>d</i>.<b>has_key</b>(<i>k</i>)</font></td>
<td>1 if <i>d</i> has key <i>k</i>, else 0</td>
<td></td>
</tr>
<tr>
<td><font face="Courier New,Courier"><i>d</i>.<b>items</b>()</font></td>
<td>a copy of <i>d</i>'s list of (key, item) pairs</td>
<td>
<center>(2)</center>
</td>
</tr>
<tr>
<td><font face="Courier New,Courier"><i>d</i>.<b>keys</b>()</font></td>
<td>a copy of <i>d</i>'s list of keys</td>
<td>
<center>(2)</center>
</td>
</tr>
<tr>
<td><font face="Courier New,Courier"><i>d1</i>.<b>update</b>(<i>d2</i>)</font></td>
<td><font face="Courier New,Courier">for k, v in d2.items(): d1[k] = v</font></td>
<td>
<center>(3)</center>
</td>
</tr>
<tr>
<td><font face="Courier New,Courier"><i>d</i>.<b>values</b>()</font></td>
<td>a copy of <i>d</i>'s list of values</td>
<td>
<center>(2)</center>
</td>
</tr>
<tr>
<td><font face="Courier New,Courier"><i>d</i>.<b>get</b>(<i>k</i>,<i>defaultval</i>)</font></td>
<td>the item of <i>d</i> with key <i>k</i></td>
<td>
<center>(4)</center>
</td>
</tr>
</table></center>
<blockquote>
<blockquote>
<blockquote><u>Notes</u> :
<br><font size=-1>&nbsp; TypeError is raised if key is not acceptable</font>
<br><font size=-1>&nbsp; (1) KeyError is raised if key k is not in the
map</font>
<br><font size=-1>&nbsp; (2) Keys and values are listed in random order</font>
<br><font size=-1>&nbsp; (3) <i>d2</i> must be of the same type as <i>d1</i></font>
<br><font size=-1><i>&nbsp; (</i>4) Never raises an exception if <i>k</i>
is not in the map, instead it returns <i>defaultVal</i>.</font>
<br><font size=-1><i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; defaultVal</i> is optional,
when not provided and <i>k</i> is not in the map, None is returned.</font></blockquote>
</blockquote>
</blockquote>
<h3>
Format operator for strings (%)</h3>
<h4>
<font face="Courier New,Courier">Uses C </font>printf format codes :</h4>
Supports: %, c, s, i, d, u, o, x, X, e, E, f, g, G.
<p>Width and precision may be a * to specify that an integer argument specifies
the actual width or precision.
<p>The flag characters -, +, blank, # and 0 are understood.
<p>%s will convert any type argument to string (uses <i>str()</i> function)
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a = '%s has %03d quote types.' <b>%</b> ('Python', 2)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a ==> 'Python has 002 quote types.'</pre>
Right-hand-side can be a <i>mapping</i>:
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a = '%<b>(lang)</b>s has %<b>(c)</b>03d quote types.' % {'c':2, 'lang':'Python}</pre>
(<i>vars()</i> function very handy to use on right-hand-side.)
<h3>
<font color="#000000">File Objects</font></h3>
Created with built-in function <i>open()</i>; may be created by other modules's
functions as well.
<h4>
Operators on file objects</h4>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f.<b>close</b>()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; close file f.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f.<b>fileno</b>()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; get fileno (fd) for f.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f.<b>flush</b>()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; flush file's internal buffer.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f.<b>isatty</b>()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1 if file is connected to a tty-like dev, else 0
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f.<b>read</b>([size])&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; read at most <i>size</i> bytes from file and return
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; as a string object. If <i>size</i> omitted, read to EOF.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f.<b>readline</b>()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; read one entire line from file
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f.<b>readlines</b>()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; read until EOF with readline() and return list
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; of lines read.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f.<b>seek</b>(offset, whence=0)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; set file's position, like&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "stdio's fseek()".&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; whence == 0 then use absolute indexing
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; whence == 1 then offset relative to current pos
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; whence == 2 then offset relative to file end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f.<b>tell</b>()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return file's current position
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f.<b>write</b>(str)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Write string to file.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f.<b>writelines</b>(list)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Write list of strings to file.</pre>
<h4>
File Exceptions</h4>
<dl>
<dt>
EOFError</dt>
<dd>
&nbsp;End-of-file hit when reading (may be raised many times, e.g. if <i>f</i>
is a tty).</dd>
<dt>
IOError</dt>
<dd>
&nbsp;Other I/O-related I/O operation failure</dd>
</dl>
<hr>
<h2>
<a NAME="AdvTypes"></a>Advanced Types</h2>
<i>-See manuals for more details</i> -
<ul>
<li>
<i>Module</i> objects</li>
<li>
<i>Class</i> objects</li>
<li>
<i>Class instance</i> objects</li>
<li>
<i>Type</i> objects (see module: types)</li>
<li>
<i>File</i> objects (see above)</li>
<li>
<i>Slice</i> objects</li>
<li>
<i>XRange</i> objects</li>
<li>
Callable types:</li>
<ul>
<li>
User-defined (written in Python):</li>
<ul>
<li>
User-defined <i>Function</i> objects</li>
<li>
User-defined <i>Method</i> objects</li>
</ul>
<li>
Built-in (written in C):</li>
<ul>
<li>
Built-in <i>Function</i> objects</li>
<li>
Built-in <i>Method</i> objects</li>
</ul>
</ul>
<li>
Internal Types:</li>
<ul>
<li>
<i>Code</i> objects (byte-compile executable Python code: <i>bytecode</i>)</li>
<li>
<i>Frame</i> objects (execution frames)</li>
<li>
<i>Traceback</i> objects (stack trace of an exception)</li>
</ul>
</ul>
<hr>
<h2>
<a NAME="Statements"></a>Statements</h2>
<pre><b>pass</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- Null statement
<b>=</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- Assignment operator. Can unpack tuples, lists, strings
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; first, second = a[0:2]; [f, s] = range(2); c1,c2,c3='abc'
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Tip: x,y = y,x swaps x and y.
<b>del</b> &lt;name>[,&lt;name>]* -- Unbind name(s) from object. Object will be indirectly
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (and automatically) deleted only if no longer referenced.
<b>print</b> [&lt;c1> [, &lt;c2> ]* [,]
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- Writes to sys.stdout.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Puts spaces between arguments. Puts newline at end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unless statement ends with comma.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Print is not required when running interactively,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; simply typing an expression will print its value,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unless the value is None.
<b>exec</b> &lt;x> [in &lt;globals> [,&lt;locals>]]
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- Executes &lt;x> in namespaces provided. Defaults
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; to current namespaces. &lt;x> can be a string, file
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; object or a function object.
<b>f</b>(&lt;value>,... [&lt;id>=&lt;value>])
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- Call function 'f' with parameters. Parameters can
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; be passed by name or be omitted if function&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; defines default values. E.g. for 'f' is defined as
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "def f(p1=1, p2=2)"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "f()"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;=>&nbsp; "f(1, 2)"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "f(10)"&nbsp;&nbsp;&nbsp;&nbsp; &lt;=>&nbsp; "f(10, 2)"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "f(p2=99)"&nbsp; &lt;=>&nbsp; "f(1, 99)"</pre>
<h3>
Control Flow</h3>
<pre><b>if</b> &lt;condition<i>></i><b>:</b> &lt;suite<i>>
</i>[<b>elif</b> &lt;condition<i>></i><b>:</b> &lt;suite<i>></i>]*
[<b>else:</b> &lt;suite<i>></i>]
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- usual if/else_if/else statement
<b>while</b> &lt;condition><b>:</b> &lt;suite>
[<b>else:</b> &lt;suite>]
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- usual while statement. "else" suite is executed
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; after loop exits, unless the loop is exited with
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "break"
<b>for</b> &lt;target> <b>in</b> &lt;condition-list><b>:</b> &lt;suite>
[<b>else:</b> &lt;suite>]
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- iterates over sequence "&lt;condition-list>",
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; assigning each element to "&lt;target>". Use built-in <i>range
</i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; function to iterate a number of times.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "else" suite executed at end unless loop exited
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; with "break"
<b>break</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- immediately exit "for" or "while" loop
<b>continue</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- immediately do next iteration of "for" or "while" loop
<b>return</b> [&lt;result>]
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- return from function (or method) and return
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "&lt;result>". If no result given, then returns <i>None</i>.</pre>
<h3>
Exception Statements</h3>
<pre><b>assert</b> expr[, message]
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- expr is evaluated. if false, raise exception AssertionError
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; with message. Inhibited if __debug__ is 0.</pre>
<pre><b>try:</b> &lt;suite1>
[<b>except</b> [&lt;exception> [, &lt;value>]<b>:</b> &lt;suite2>]+
[<b>else:</b> &lt;suite3>]
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- statements in &lt;suite1> are executed. If an
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exception occurs, look in "except" clauses for
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; matching &lt;exception>. If matches or bare "except"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; execute suite of that clause. If no exception happens
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; suite in "else" clause is executed after &lt;suite1>.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If &lt;exception> has a value, it is put in &lt;value>.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;exception> can also be tuple of exceptions, e.g.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "except (KeyError, NameError), val: print val"
<b>try:</b> &lt;suite1>
<b>finally:</b> &lt;suite2>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- statements in &lt;suite1> are executed. If no
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exception, execute &lt;suite2> (even if &lt;suite1> is
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exited with a "return", "break" or "continue"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; statement). If exception did occur, executes&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;suite2> and them immediately reraises exception.
<b>raise</b> &lt;exception> [,&lt;value> [,&lt;traceback>]]
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- raises &lt;exception> with optional value
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;value>. Parameter &lt;traceback>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; specifies a traceback object to use when printing
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; the exception's backtrace.
<b>raise</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- a raise statement without arguments re-raises
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; the last exception raised in the current function
An exception is either a <i>string</i> (object) or a <i>class instance</i>.
Can create a new one simply by creating a new string:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; my_exception = 'You did something wrong'
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>try</b>:&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if bad:&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>raise</b> my_exception, bad
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>except</b> my_exception, value:&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print 'Oops', value</pre>
<pre>Exception classes must be derived from the predefined class: Exception, eg:</pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; class text_exception(Exception):
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>try</b>:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if bad:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>raise</b> text_exception()
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # This is a shorthand for the form
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # "raise &lt;class>, &lt;instance>"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>except</b> Exception:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print 'Oops'
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # This will be printed because
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # text_exception is a subclass of Exception
When an error message is printed for an unhandled exception which is a
class, the class name is printed, then a colon and a space, and
finally the instance converted to a string using the built-in function
str().</pre>
<pre>All built-in exception classes derives from StandardError, itself
derived from Exception.</pre>
<h3>
Name Space Statements</h3>
[1.51: On Mac &amp; Windows, the case of module file names must now match
the case as used
<br>&nbsp; in the <i>import</i> statement]
<pre><i>Packages</i> (>1.5): a package is a name space which maps to a directory including
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; module(s) and the special initialization module '__init__.py'
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (possibly empty). Packages/dirs can be nested. You address a
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; module's symbol via '[package.[package...]module.symbol's.</pre>
<pre><b>import</b> &lt;module_id1> [, &lt;module_id2>]*
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- imports modules. Members of module must be&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; referred to by qualifying with [package.]module name:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "import sys; print sys.argv:"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "import package1.subpackage.module; package1.subpackage.module.foo()"
<b>from</b> &lt;module_id> <b>import</b> &lt;id1> [, &lt;id2>]*
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- imports names from module &lt;module_id>. Names
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; are not qualified:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "from sys import argv; print argv"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "from package1 import module; module.foo()"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "from package1.module import foo; foo()"
<b>from</b> &lt;module_id> <b>import *
</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- imports all names in module &lt;module_id>, except
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; those starting with "_"; *to be used sparsely* :
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "from sys import *; print argv"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "from package.module import *; print x'
<b>global</b> &lt;id1> [,&lt;id2>]*
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- ids are from global scope (usually meaning from module)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rather than local (usually meaning only in function).
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- E.g. in fct without "global" statements, assuming
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "a" is name that hasn't been used in fct or module
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; so far:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -Try to read from "a" -> NameError
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -Try to write to "a" -> creates "a" local to fcn
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -If "a" not defined in fct, but is in module, then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -Try to read from "a", gets value from module
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -Try to write to "a", creates "a" local to fct
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; But note "a[0]=3" starts with search for "a",
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; will use to global "a" if no local "a".</pre>
<h3>
Function Definition</h3>
<pre><b>def</b> &lt;func_id> ([&lt;param_list>])<b>:</b> &lt;suite>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- creates a function object and assigns it name&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;func_id>.
&lt;param_list> ==> [&lt;id> [, &lt;id>]*] [&lt;id> =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;v> [,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;id> =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;v>]*]
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [*&lt;id>]&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [**&lt;id>]
[Args are passed by <b>value</b>.Thus only args representing a <i>mutable</i> object
can be modified (are <i>inout</i> parameters). Use a <b>tuple</b> to return more than
one value]</pre>
<pre>E.g.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>def</b> test (p1, p2 = 1+1, *rest, **keywords):
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- Parameters with "=" have default value (&lt;v> is
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; evaluated when function defined).
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If list has "*&lt;id>" then &lt;id> is assigned
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a tuple of all remaining args passed to function.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (allows vararg functions).
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If list has "**&lt;id>" then &lt;id> is assigned
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a dictionary of all arguments passed as keywords.</pre>
<h3>
Class Definition</h3>
<pre><b>class</b> &lt;class_id> [(&lt;super_class1> [,&lt;super_class2>]*)]: &lt;suite>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- Creates a class object and assigns it name &lt;class_id>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;suite> may contain local "defs" of class methods and
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; assignments to class attributes.
E.g.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>class</b> my_class (class1, class_list[3]): ...
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Creates a class object inheriting from both "class1" and whatever&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; class object "class_list[3]" evaluates to. Assigns new
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; class object to name "my_class".
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -First arg to class methods is always instance object, called '<b>self</b>'
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; by convention.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -Special method <b>__init__</b>() is called when instance is created.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -Special method <b>__del__</b>() called when no more reference to object.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -Create instance by "<i>calling</i>" class object, possibly with arg
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (thus instance=apply(aClassObject, args...) creates an instance!)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -In current implementation, can't subclass off built-in
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; classes. But can "wrap" them, see __getattr__() below.
E.g.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; class c (c_parent):&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; def __init__(self, name): self.name = name
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; def print_name(self): print "I'm", self.name
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; def call_parent(self): c_parent.print_name(self)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; instance = c('tom')
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print instance.name&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'tom'
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; instance.print_name()
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "I'm tom"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Call parent's super class by accessing parent's method
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; directly and passing "self" explicitly (see "call_parent"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; in example above).
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Many other special methods available for implementing
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; arithmetic operators, sequence, mapping indexing, etc.</pre>
<h4>
Documentation Strings</h4>
Modules, classes and functions may be documented by placing a string literal
by itself as the first statement in the suite. The documentation can be
retrieved by getting the '<b>__doc__</b>' attribute from the module, class
or function.
<pre>Example:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; class c:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "A description of 'c'"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; def __init__(self):
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "A description of the constructor"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # etc.
Then c.__doc__ &lt;=> "A description of 'c'".
Then c.__init__.__doc__ &lt;=> "A description of the constructor".</pre>
<h3>
Others</h3>
<pre><b>lambda</b> [&lt;param_list>]: &lt;returnedExpr>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- Create an anonymous function. &lt;returnedExpr> must be
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; an expression, not a statement (e.g., not "if xx:...",&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "print xxx", etc.) and thus can't contain newlines.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Used mostly for filter(), map(), reduce() functions.</pre>
<hr>
<h2>
<a NAME="BuiltIn"></a>Built-In Functions</h2>
<pre><b>__import__</b>(name[, globals[, locals[, fromlist]]])
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Import module within the given context (see lib ref for more details)
<b>abs</b>(x)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Return the absolute value of a number
<b>apply</b>(f, args[, keywords])
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Call func/method &lt;f> with args &lt;args> and optional keywords
<b>callable</b>(x)&nbsp;&nbsp;&nbsp;&nbsp; Returns 1 if x callable, else 0.
<b>chr</b>(i)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Return one-character string whose ASCII code is
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; integer i
<b>cmp</b>(x,y)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Return neg, zero, pos if x &lt;, ==, > to y
<b>coerce</b>(x,y)&nbsp;&nbsp;&nbsp;&nbsp; Return a tuple of the two <i>numeric</i> arguments converted to
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a common type.
<b>compile</b>(string, filename, kind)&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Compile &lt;string> into a code object.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;filename> is used in error message, can be any string. It is
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; usually the file from which the code was read, or eg. '&lt;string>'
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if not read from file.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;kind> can be 'eval' if &lt;string> is a single stmt, or 'single'
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; which prints the output of expression statements that
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; evaluate to something else than "None" or be 'exec'.
<b>complex</b>(real[, image])
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Build a complex object (can also be done using J or j suffix,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; e.g. 1+3J)</pre>
<pre><b>delattr</b>(obj, name)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; deletes attribute named &lt;name> of object &lt;obj> &lt;=> del obj.name</pre>
<pre><b>dir</b>([object])&nbsp;&nbsp; If no args, return the list of names in current local
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; symbol table. With a module, class or class instance
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; object as arg, return list of names in its attr dict.
<b>divmod</b>(a,b)&nbsp;&nbsp;&nbsp;&nbsp; Returns tuple of (a/b, a%b)
<b>eval</b>(s, globals, locals)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Eval string &lt;s> in (optional) &lt;globals>, &lt;locals>.&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;s> must have no NULL's or newlines. &lt;s> can also be a
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; code object.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; E.g.: x = 1; incr_x = eval('x + 1')
<b>execfile</b>(file[, globals[, locals]])
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Execute a file without creating a new module, unlike import.</pre>
<pre><b>filter</b>(function, sequence)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Construct a list from those elements of &lt;sequence> for which
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;function> returns true. &lt;function> takes one parameter.
<b>float</b>(x)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Convert a number or a string to floating point.&nbsp;
<b>getattr</b>(object, name[, default]))&nbsp;&nbsp;&nbsp; <font size=-1>[&lt;default> arg added in 1.5.2]
</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Get attr called &lt;name> from &lt;object>, e.g. getattr(x, 'f') &lt;=> x.f).
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If not found, raise AttributeError or return &lt;default> if specified.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<b>globals</b>()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Returns a dictionary containing current global variables.
<b>hasattr</b>(object, name)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Returns true if &lt;object> has attr called &lt;name>.
<b>hash</b>(object)&nbsp;&nbsp;&nbsp; Return the hash value of the object (if it has one)
<b>hex</b>(x)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Convert a number to a hexadecimal string.
<b>id</b>(object)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Return a unique 'identity' integer for an object.
<b>input</b>([prompt]) Prints prompt, if given. Reads input and evaluates it.</pre>
<pre><b>int</b>(x)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Convert a number or a string to a plain integer.
<b>intern</b>(aString)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Enter &lt;String> in the table of "interned strings" and
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return the string. Interned strings are 'immortals'.
<b>isinstance</b>(obj, class)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return true if &lt;obj> is an instance of &lt;class></pre>
<pre><b>issubclass</b>(class1, class2)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return true if &lt;class1> is derived from &lt;class2></pre>
<pre><b>len</b>(s)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Return the length (the number of items) of an object
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (sequence or dictionary).
<b>list</b>(sequence)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Convert &lt;sequence> into a list. If already a list,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return a copy of it.</pre>
<pre><b>locals</b>()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Return a dictionary containing current local variables.
<b>long</b>(x)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Convert a number or a string to a long integer.
<b>map</b>(function, list, ...)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Apply &lt;function> to every item of &lt;list> and return a list
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; of the results.&nbsp; If additional arguments are passed,&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;function> must take that many arguments and it is given
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; to &lt;function> on each call.
<b>max</b>(s)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Return the largest item of a non-empty sequence.
<b>min</b>(s)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Return the smallest item of a non-empty sequence.
<b>oct</b>(x)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Convert a number to an octal string.
<b>open</b>(filename [, mode='r', [bufsize=&lt;implementation dependent>]])
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Return a new file object. First two args are same as&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; those for C's "stdio open" function. &lt;bufsize> is 0
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for unbuffered, 1 for line-buffered, negative for
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sys-default, all else, of (about) given size.
<b>ord</b>(c)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Return integer ASCII value of &lt;c> (str of len 1).
<b>pow</b>(x, y [, z]) Return x to power y [modulo z]. See also ** operator.
<b>range</b>(start [,end [, step]])
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return list of ints from >= start and &lt; end.&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; With 1 arg, list from 0..&lt;arg>-1
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; With 2 args, list from &lt;start>..&lt;end>-1
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; With 3 args, list from &lt;start> up to &lt;end> by &lt;step>
<b>raw_input</b>([prompt])
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Print prompt if given, then read string from std
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; input (no trailing \n).
<b>reduce</b>(f, list [, init])
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Apply the binary function &lt;f> to the items of
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;list> so as to reduce the list to a single value.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If &lt;init> given, it is "prepended" to &lt;list>.
<b>reload</b>(module)&nbsp; Re-parse and re-initialize an already imported module.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Useful in interactive mode, if you want to reload a
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; module after fixing it. If module was synactically
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; correct but had an error in initialization, must
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; import it one more time before calling reload().
<b>repr</b>(object)&nbsp;&nbsp;&nbsp; Return a string containing a printable representation
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; of an object. Equivalent to `object` (using
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; backquotes).
<b>round</b>(x,n=0)&nbsp;&nbsp;&nbsp; Return the floating point value x rounded to n digits
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; after the decimal point.
<b>setattr</b>(object, name, value)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; This is the counterpart of getattr().
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; setattr(o, 'foobar', 3) &lt;=> o.foobar = 3
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <u>Create</u> attribute if it doesn't exist!
<b>slice</b>([start,] stop[, step])
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Return a <i>slice object</i> representing a range, with R/O
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; attributes: start, stop, step.</pre>
<pre><b>str</b>(object)&nbsp;&nbsp;&nbsp;&nbsp; Return a string containing a nicely printable
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; representation of an object.
<b>tuple</b>(sequence) Creates a tuple with same elements as &lt;sequence>. If
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; already a tuple, return itself (not a copy).
<b>type</b>(obj)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Return a type object [see module <i>types</i>]representing the
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type of &lt;obj>. E.g., import types
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if type(x) == types.StringType: print 'It is a string'
<b>vars</b>([object])&nbsp; Without arguments, return a dictionary corresponding
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; to the current local symbol table.&nbsp; With a module,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; class or class instance object as argument&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; returns a dictionary corresponding to the object's
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; symbol table. Useful with "%" formatting operator.
<b>xrange</b>(start [, end [, step]])
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Like range(), but doesn't actually store entire list
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; all at once. Good to use in "for" loops when there is a
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; big range and little memory.</pre>
<hr>
<h2>
<a NAME="BuiltInExc"></a>Built-In Exceptions</h2>
<dl>
<dt>
<i>Exception</i></dt>
<dt>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Root class for all exceptions</dt>
<dt>
<i>&nbsp;&nbsp;&nbsp; SystemExit</i></dt>
<dt>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; On 'sys.exit()'</dt>
<dt>
<i>&nbsp;&nbsp;&nbsp; StandardError</i></dt>
<dt>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Base class for all built-in exceptions; derived from Exception root class.</dt>
<dt>
<i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ArithmeticError</i></dt>
<dt>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Base class for OverflowError, ZeroDivisionError, FloatingPointError</dt>
<dt>
<i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OverflowError</i></dt>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
On excessively large arithmetic operation
<dt>
<i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ZeroDivisionError</i></dt>
<dd>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; On division or modulo
operation with 0 as 2nd arg</dd>
<dt>
<i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FloatingPointError</i></dt>
<dt>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
when a floating point operation fails.</dt>
<dt>
<i>&nbsp;</i></dt>
<br><i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AssertionError</i>
<dt>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
When an <i>assert</i> statement fails.</dt>
<dt>
<i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AttributeError</i></dt>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
On attribute reference or assignment failure
<dt>
<i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EOFError</i></dt>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Immediate end-of-file hit by input() or raw_input()
<dt>
<i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EnvironmentError</i><font size=-1>&nbsp;&nbsp;&nbsp;
[<b>new</b> in 1.5.2]</font></dt>
<dt>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
On error outside Python; error arg tuple is (errno, errMsg...)</dt>
<dt>
<i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IOError</i><font size=-1>&nbsp;&nbsp;&nbsp;
[<b>changed</b> in 1.5.2]</font></dt>
<dd>
&nbsp;&nbsp;&nbsp;&nbsp; I/O-related operation failure</dd>
<dt>
<i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OSError</i><font size=-1>&nbsp;&nbsp;&nbsp;
[<b>new</b> in 1.5.2]</font></dt>
<dd>
&nbsp;&nbsp;&nbsp;&nbsp; used by the <i>os</i> module's <i>os.error</i>
exception.</dd>
<dt>
<i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ImportError</i></dt>
<dd>
&nbsp;&nbsp;&nbsp;&nbsp; On failure of `import' to find module or name</dd>
<dt>
<i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; KeyboardInterrupt</i></dt>
<dd>
&nbsp;&nbsp;&nbsp;&nbsp; On user entry of the interrupt key (often `Control-C')</dd>
<dt>
<i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LookupError</i></dt>
<dt>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
base class for IndexError, KeyError</dt>
<dt>
<i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IndexError</i></dt>
<dd>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; On out-of-range sequence
subscript</dd>
<dt>
<i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; KeyError</i></dt>
<dd>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; On reference to a non-existent
mapping (dict) key</dd>
<dt>
<i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MemoryError</i></dt>
<dd>
&nbsp;&nbsp;&nbsp;&nbsp; On recoverable memory exhaustion</dd>
<dt>
<i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NameError</i></dt>
<dd>
&nbsp;&nbsp;&nbsp;&nbsp; On failure to find a local or global (unqualified)
name</dd>
<dt>
<i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RuntimeError</i></dt>
<dd>
&nbsp;&nbsp;&nbsp;&nbsp; Obsolete catch-all; define a suitable error instead</dd>
<br>&nbsp;&nbsp;&nbsp; <i>NotImplementedError</i><font size=-1>&nbsp;&nbsp;
[<b>new</b> in 1.5.2]</font>
<dd>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; On method not implemented</dd>
<dt>
<i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SyntaxError</i></dt>
<dd>
&nbsp;&nbsp;&nbsp;&nbsp; On parser encountering a syntax error</dd>
<dt>
<i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SystemError</i></dt>
<dd>
&nbsp;&nbsp;&nbsp;&nbsp; On non-fatal interpreter error - bug - report
it</dd>
<dt>
<i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TypeError</i></dt>
<dd>
&nbsp;&nbsp;&nbsp;&nbsp; On passing inappropriate type to built-in op or
func</dd>
<dt>
<i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ValueError</i></dt>
<dd>
&nbsp;&nbsp;&nbsp;&nbsp; On arg error not covered by TypeError or more
precise</dd>
</dl>
<hr>
<h2>
<a NAME="SpecialMethods"></a>Standard methods &amp; operators redefinition
in classes</h2>
<pre>Standard methods &amp; operators map to methods in user-defined classes and thus may be redefined, e.g.
&nbsp;&nbsp;&nbsp; class x:&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; def __init__(self, v): self.value = v
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; def __add__(self, r): return self.value + r
&nbsp;&nbsp;&nbsp; a = x(3) # sort of like calling x.__init__(a, 3)
&nbsp;&nbsp;&nbsp; a + 4&nbsp;&nbsp;&nbsp; # is equivalent to a.__add__(4)</pre>
<h3>
Special methods for any class</h3>
(s: self, o: other)
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; __init__(s, args) object instantiation&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; __del__(s)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; called on object demise (refcount becomes 0)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; __repr__(s)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; repr() and `...` conversions
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; __str__(s)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; str() and 'print' statement
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; __cmp__(s, o)&nbsp;&nbsp;&nbsp;&nbsp; implements &lt;, ==, >, &lt;=, &lt;>, !=, >=, is [not]
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; __hash__(s)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hash() and dictionary operations
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; __getattr__(s, name)&nbsp; called when attr lookup doesn't find &lt;name>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; __setattr__(s, name, val) called when setting an attr
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (inside, don't use "self.name = value"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; use "self.__dict__[name] = val")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; __delattr__(s, name)&nbsp; called to delete attr &lt;name>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; __call__(self, *args) called when an instance is called as function.</pre>
<h3>
Operators</h3>
<blockquote>See list in the <i>operator</i> module. Operator function names
are provided with 2 variants, with or without
<br>ading &amp; trailing '__' (eg. __add__ or add).
<p><b>Numeric operations special methods</b>
<br>(s: self, o: other)</blockquote>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s+o&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =&nbsp; __add__(s,o)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s-o&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =&nbsp; __sub__(s,o)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s*o&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =&nbsp; __mul__(s,o)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s/o&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =&nbsp; __div__(s,o)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s%o&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =&nbsp; __mod__(s,o)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; divmod(s,o) = __divmod__(s,o)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pow(s,o)&nbsp; =&nbsp; __pow__(s,o)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s&amp;o&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =&nbsp; __and__(s,o)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s^o&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =&nbsp; __xor__(s,o)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s|o&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =&nbsp; __or__(s,o)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s&lt;&lt;o&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =&nbsp; __lshift__(s,o)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s>>o&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =&nbsp; __rshift__(s,o)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nonzero(s) = __nonzero__(s) (used in boolean testing)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -s&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =&nbsp; __neg__(s)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +s&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =&nbsp; __pos__(s)&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; abs(s)&nbsp;&nbsp;&nbsp; =&nbsp; __abs__(s)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ~s&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =&nbsp; __invert__(s)&nbsp; (bitwise)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int(s)&nbsp;&nbsp;&nbsp; =&nbsp; __int__(s)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; long(s)&nbsp;&nbsp;&nbsp; =&nbsp; __long__(s)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; float(s)&nbsp; =&nbsp; __float__(s)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oct(s)&nbsp;&nbsp;&nbsp; =&nbsp; __oct__(s)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hex(s)&nbsp;&nbsp;&nbsp;&nbsp; =&nbsp; __hex__(s)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; coerce(s,o) = __coerce__(s,o)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Right-hand-side equivalents for all binary operators exist;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; are called when class instance is on r-h-s of operator:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a + 3&nbsp; calls __add__(a, 3)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3 + a&nbsp; calls __radd__(a, 3)</pre>
<blockquote><b>All seqs and maps, general operations plus:</b>
<br>(s: self, i: index or key)</blockquote>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; len(s)&nbsp;&nbsp;&nbsp; = __len__(s)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; length of object, >= 0.&nbsp; Length 0 == false
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s[i]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = __getitem__(s,i)&nbsp; Element at index/key i, origin 0</pre>
<blockquote><b>Sequences, general methods, plus:</b>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s[i]=v&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = __setitem__(s,i,v)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; del s[i]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = __delitem__(s,i)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s[i:j]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = __getslice__(s,i,j)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s[i:j]=seq&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = __setslice__(s,i,j,seq)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; del s[i:j]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = __delslice__(s,i,j)&nbsp;&nbsp; == s[i:j] = []
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; seq * n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = __repeat__(seq, n)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s1 + s2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = __concat__(s1, s2)</pre>
<b>Mappings, general methods, plus</b>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hash(s)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = __hash__(s) - hash value for dictionary references
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s[k]=v&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = __setitem__(s,k,v)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; del s[k]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = __delitem__(s,k)</pre>
</blockquote>
<h2>
<a NAME="typeAttributes"></a>Special informative state attributes for some
types:</h2>
<pre>&nbsp;&nbsp;&nbsp; <b>Lists &amp; Dictionaries</b>:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; __methods__ (list, R/O): list of method names of the object
&nbsp;
&nbsp;&nbsp;&nbsp; <b>Modules</b>:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; __dict__ (dict, R/O): module's name space
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; __doc__ (string/None, R/O): doc string (&lt;=> __dict__['__doc__'])
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; __name__(string, R/O): module name (also in __dict__['__name__'])
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; __file__(string/undefined, R/O): pathname of .pyc, .pyo or .pyd (undef for
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; modules statically linked to the interpreter)
&nbsp;&nbsp;&nbsp; <b>Classes</b>:&nbsp;&nbsp;&nbsp; [bold: writable since 1.5.2]
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; __bases__ (tuple, R/<b>W)</b>: parent classes
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; __dict__ (dict, R/<b>W</b>): attributes (class name space)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; __name__(string, R/<b>W</b>): class name (also in __dict__['__name__'])
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; __doc__ (string/None, R/W): doc string (&lt;=> __dict__['__doc__'])
&nbsp;
&nbsp;&nbsp;&nbsp; <b>Instances:
</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; __class__ (class, R/W): instance's class
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; __dict__ (dict, R/W): attributes
&nbsp;&nbsp;&nbsp; <b>User-defined functions</b>: [bold: writable since 1.5.2]
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; __doc__ (string/None, R/<b>W</b>): doc string
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; __name__(string, R/O): function name
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; func_defaults (tuple/None, R/<b>W</b>): default args values if any
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; func_code (code, R/<b>W</b>): code object representing the compiled function body
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; func_globals (dict, R/O): ref to dictionary of func global variables
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; func_doc (R/<b>W</b>): same as __doc__
&nbsp;
&nbsp;&nbsp;&nbsp; <b>User-defined Methods</b>:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; im_self (instance/None, R/O): target instance object (None if unbound)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; im_func (function, R/O): function object
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; im_class (class, R/O): class defining the method (may be a base class)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; __doc__ (string/None, R/O): doc string
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; __name__(string, R/O): method name (same as im_func.__name__)
&nbsp;&nbsp;&nbsp; <b>Built-in Functions &amp; methods</b>:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; __doc__ (string/None, R/O): doc string
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; __name__ (string, R/O): function name
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; __self__ : [methods only] target object
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; __members__ = list of attr names: ['__doc__','__name__','__self__'])
&nbsp;&nbsp;&nbsp; <b>Codes</b>:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; co_argcount (int, R/0): number of positional args
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; co_nlocals (int, R/O): number of local vars (including args)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; co_varnames (tuple, R/O): names of local vars (starting with args)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; co_code (string, R/O): sequence of bytecode instructions
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; co_consts (tuple, R/O): litterals used by the bytecode, 1st one is
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fct doc (or None)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; co_name (string, R/O): name of function
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; co_names (tuple, R/O): names used by the bytecode
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; co_filename (string, R/O): filename from which the code was compiled
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; co_flags (int, R/O): flags for the interpreter
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bit 2 set if fct uses "*arg" syntax
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bit 3 set if fct uses '**keywords' syntax
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HINT: use codehack.getlineno() to get 1st lineNo of a code object
&nbsp;&nbsp;&nbsp; <b>Frames</b>:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f_back (frame/None, R/O): previous stack frame (towards the caller)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f_code (code, R/O): code object being executed in this frame
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f_locals (dict, R/O): local vars
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f_globals (dict, R/O): global vars
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f_builtins (dict, R/O): built-in (intrinsic) names
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f_restricted (int, R/O): flag indicating whether fct is executed in
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; restricted mode
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f_lineno (int, R/O): current line number
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f_lasti (int, R/O): precise instruction (index into bytecode)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f_trace (function/None, R/W): debug hook called at start of each source line
&nbsp;&nbsp;&nbsp; <b>Tracebacks</b>:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tb_next (frame/None, R/O): next level in stack trace (towards the frame where
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; the exception occurred)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tb_frame (frame, R/O): execution frame of the current level
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tb_lineno (int, R/O): line number where the exception occured
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tb_lasti (int, R/O): precise instruction (index into bytecode)
&nbsp;
&nbsp;&nbsp;&nbsp; <b>Slices</b>:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; start (any/None, R/O): lowerbound
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; stop (any/None, R/O): upperbound
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; step (any/None, R/O): step value
&nbsp;
&nbsp;&nbsp;&nbsp; <b>Complex numbers</b>:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; real (float, R/O): real part
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; imag (float, R/O): imaginary part
<b>&nbsp;&nbsp;&nbsp; XRanges</b>:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tolist (Built-in method, R/O): ?</pre>
<hr>
<h2>
<a NAME="ImportantModules"></a>Important Modules</h2>
<center><a NAME="sysModule"></a><b><i><font size=+2>sys</font></i></b></center>
<b>Some variables:</b>
<pre>argv&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- The list of command line arguments passed to a&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Python script. sys.argv[0] is the script name.
builtin_module_names
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- A list of strings giving the names of all modules
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; written in C that are linked into this interpreter.
check_interval&nbsp; -- How often to check for thread switches or signals&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (measured in number of virtual machine instructions)
exc_type
exc_value
exc_traceback&nbsp;&nbsp; -- <b>Deprecated</b> since release 1.5. Use exc_info() instead.
&nbsp;
exitfunc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- User can set to a parameterless fcn. It will get
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; called before interpreter exits.
last_type
last_value
last_traceback&nbsp; -- Set only when an exception not handled and
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; interpreter prints an error. Used by debuggers.
maxint&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- maximum positive value for integers</pre>
<pre>modules&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- Dictionary of modules that have already been loaded.
path&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- Search path for external modules. Can be modified
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; by program.
platform&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- The current platform, e.g. "sunos5", "win32"
ps1
ps2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- prompts to use in interactive mode.
stdin
stdout
stderr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- File objects used for I/O. User can redirect by
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; assigning a new file object to them (or any object:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .with a method write(string) for stdout/stderr,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .with a method readline() for stdin)
version&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- string containing version info about Python interpreter.
(and also: copyright, dllhandle, exec_prefix, prefix)</pre>
<b>Functions:</b>
<pre>exit(n)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- Exit with status &lt;n>. Raises SystemExit exception.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (Hence can be caught and ignored by program)
getrefcount(object)&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- Return the reference count of the object. Generally 1 higher
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; than you might expect, because of &lt;object> arg temp reference.
setcheckinterval(interval)&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- Set the interpreter's thread switching interval (in number of virtual
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; code instructions, default:10).
settrace(func)&nbsp; -- Sets a trace function: called before each line of&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; code is exited.
setprofile(func)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- Sets a profile function for performance profiling.
exc_info()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- info on exception currently being handled; this is a
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tuple (exc_type, exc_value, exc_traceback).
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>Warning</b>: assigning the traceback return value to a local
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; variable in a function handling an exception will cause
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a circular reference.</pre>
<hr>
<center><a NAME="osModule"></a><b><i><font size=+2>os</font></i></b></center>
"synonym" for whatever O/S-specific module is proper for current environment.
Uses "posix" whenever possible.
<p><b>Variables</b>
<br>name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- name
of O/S-specific module (e.g. "posix", "mac", "nt")
<br>path&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-- O/S-specific module for path manipulations.
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
on Unix, os.path.split() &lt;=> posixpath.split()
<br>curdir&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- string used
to represent current directory ('.')
<br>pardir&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- string used
to represent parent directory ('..')
<br>sep&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-- string used to separate directories ('/' or '\')
<br>pathsep&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- character used to separate
search path components (as in $PATH), eg. ';' for windows.
<br>linesep&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- [1.5.2] line separator
as used in <b>binary</b> files, ie '\n' on Unix, '\r\n' on Dos/Win, '\r'
on Mac
<p><b>Functions</b>
<br>makedirs(path[, mode=0777])<font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
[<b>new</b> in 1.5.2]</font>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-- Recursive directory creation (create required intermediary dirs); os.error
if fails.
<br>removedirs(path)<font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
[<b>new</b> in 1.5.2]</font>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-- Recursive directory creation (create required intermediary dirs); os.error
if fails.
<br>renames(old, new)<font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
[<b>new</b> in 1.5.2]</font>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-- Recursive directory or file renaming; os.error if fails.
<p>
<hr>
<center><a NAME="posixModule"></a><b><i><font size=+2>posix</font></i></b></center>
don't import this module directly, import <i>os</i> instead !
<p><b>Variables:</b>
<pre>environ&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- dictionary of environment variables, e.g.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; posix.environ['HOME']. [Windows: before release 1.52 case is significant; from 1.52,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; os.environ is all uppercase but accesses are case insensitive]
error&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- exception raised on POSIX-related error.&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Corresponding value is tuple of errno code and
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; perror() string.</pre>
<b>Some Functions (see doc for more):</b>
<pre>chdir(path)&nbsp;&nbsp;&nbsp;&nbsp; -- change current directory to &lt;path>.
chmod(path, mode)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- change the mode of &lt;path> to the numeric &lt;mode>
close(fd)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- Close file descriptor &lt;fd> opened with posix.open.
_exit(n)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- Immediate exit, with no cleanups, no SystemExit,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; etc. Should use this to exit a child process.
execv(p, args)&nbsp; -- "Become" executable &lt;p> with args &lt;args>
getcwd()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- return a string representing the current working directory
getpid()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- return the current process id
fork()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- Like C's fork(). Returns 0 to child, child pid to parent.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [Not on Windows]
kill(pid, signal)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- Like C's kill [Not on Windows]
listdir(path)&nbsp;&nbsp; -- List names of entries in directory &lt;path>.
lseek(fd, pos, how)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- set current position in file &lt;fd> to position &lt;pos>, expressed
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; as an offset relative to beginning of file (how=0), to
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; current position (how=1), or to end of file (how=2)
mkdir(path[, mode])
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- Creates a directory named &lt;path> with numeric &lt;mode>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (default 0777)
open(file, flags, mode)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- Like C's open(). Returns file descriptor. Use file object fcts
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rather than this low level ones.
pipe()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- Creates pipe. Returns pair of file descriptors (r, w) [Not on Windows].
popen(command, mode='r', buffSize=0)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- Open a pipe to or from &lt;command>. Result is a file
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; object to read to or write from, as indicated by
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;mode> being 'r' or 'w'.
remove(path)&nbsp;&nbsp;&nbsp; -- see unlink.
rename(src, dst)-- Rename/move the file or directory &lt;src> to &lt;dst>. [error if
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; target name already exists]
rmdir(path)&nbsp;&nbsp;&nbsp;&nbsp; -- Remove the directory &lt;path>
read(fd, n)&nbsp;&nbsp;&nbsp;&nbsp; -- Read &lt;n> bytes from &lt;fd> and return as string.
stat(path)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- Returns st_mode, st_ino, st_dev, st_nlink, st_uid,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; st_gid, st_size, st_atime, st_mtime, st_ctime.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [st_ino, st_uid, st_gid are dummy on Windows]&nbsp;
system(command) -- Execute string &lt;command> in a subshell. Returns exit
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; status of subshell.
times()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- return accumulated CPU times in sec (user, system, children's user,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; children's sys, elapsed real time). [3 last not on Windows]
unlink(path)&nbsp;&nbsp;&nbsp; -- Unlink ("delete") path/file. same as: remove
utime(path, (aTime, mTime))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- Set the access &amp; modified time of the file to the given tuple of values.
wait()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- Wait for child process completion. Returns tuple of
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pid, exit_status [Not on Windows]
waitpid(pid, options)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- Wait for process pid to complete. Returns tuple of
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pid, exit_status [Not on Windows]
write(fd, str)&nbsp; -- Write &lt;str> to &lt;fd>. Returns num bytes written.</pre>
<hr>
<center><a NAME="posixpathModule"></a><b><i><font size=+2>posixpath</font></i></b></center>
Do not import this module directly, import <i>os</i> instead and refer
to this module as os.path. (e.g. os.path.exists(p)) !
<p><b>Some Functions (see doc for more):</b>
<pre>exists(p)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- True if string &lt;p> is an existing path
expanduser(p)&nbsp;&nbsp; -- Returns string that is (a copy of) &lt;p> with "~" expansion done.
expandvars(p)&nbsp;&nbsp; -- Returns string that is (a copy of) &lt;p> with environment vars expanded.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [Windows: case significant; Use Unix: <b>$</b>var notation,not %var%]
getsize(filename)<font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [<b>new</b> in 1.5.2]
</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- return the size in bytes of &lt;filename>. raise os.error.
getmtime(filename)&nbsp;<font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [<b>new</b> in 1.5.2]
</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- return last modification time of &lt;filename> (integer nb of seconds since epoch).
getatime(filename)&nbsp;<font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [<b>new</b> in 1.5.2]
</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- return last access time of &lt;filename> (integer nb of seconds since epoch).
isabs(p)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- True if string &lt;p> is an absolute path.
isdir(p)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- True if string &lt;p> is a directory.
islink(p)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- True if string &lt;p> is a symbolic link.
ismount(p)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- True if string &lt;p> is a mount point [true for all dirs on Windows].
join(p[,q[,...]])
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- Joins one or more path components intelligently.
split(p)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- Splits into (head, tail) where &lt;tail> is last
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pathname component and &lt;head> is everything leading
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; up to that. &lt;=> (dirname(p), basename(p))
splitdrive(p)&nbsp;&nbsp; -- Splits path in a pair ('drive:', tail) [on Windows]
splitext(p)&nbsp;&nbsp;&nbsp;&nbsp; -- Splits into (root, ext) where last comp of &lt;root>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; contains no periods and &lt;ext> is empty or starts
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; with a period.
walk(p, visit, arg)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- Calls the function &lt;visit> with arguments
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (&lt;arg>, &lt;dirname>, &lt;names>) for each directory recursively in
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; the directory tree rooted at &lt;p> (including p itself if it's a dir)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The argument &lt;dirname> specifies the visited directory, the argument
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;names> lists the files in the directory.&nbsp; The &lt;visit> function may
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; modify &lt;names> to influence the set of directories visited below
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dirname>, e.g., to avoid visiting certain parts of the tree.
[1.52, NT version: samefile(), sameopenfile(), samestat() deprecated because not reliable]</pre>
<center>
<hr WIDTH="100%"><a NAME="timeModule"></a><b><i><font size=+2>time</font></i></b></center>
<p><b>Variables</b>
<pre>altzone&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- signed&nbsp; offset of local DST timezone in sec west of the 0th meridian.
daylight&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- nonzero if a DST timezone is specified</pre>
<b>Functions</b>
<pre>time()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- return a float representing UTC time in seconds since the epoch.
gmtime(secs), localtime(secs)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- return a tuple representing time : (year aaaa, month(1-12),
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; day(1-31), hour(0-23), minute(0-59), second(0-59), weekday
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (0-6, 0 is monday), Julian day(1-366), daylight flag(-1,0 or 1))
asctime(timeTuple),
strftime(format, timeTuple)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- return a formated string representing time.
mktime(tuple)&nbsp; -- inverse of localtime(). Return a float.
strptime(string[, format])&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font size=-1> [<b>new</b> in 1.5.2]
</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- parse a formated string representing time, return tuple as in gmtime().
sleep(secs)&nbsp;&nbsp;&nbsp; -- Suspend execution for &lt;secs> seconds. &lt;secs> can be a float.</pre>
<pre>and also: clock, ctime.</pre>
<hr>
<center><a NAME="stringModule"></a><b><i><font size=+2>string</font></i></b></center>
<p><b>Some Variables:</b>
<pre>digits&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- The string '0123456789'
hexdigits, octdigits&nbsp;&nbsp;&nbsp; -- legal hexadecimal &amp; octal digits
letters
uppercase
lowercase
whitespace
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- Strings containing the appropriate characters
index_error&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- Exception raised by index() if substr not found.</pre>
<pre><b>Some Functions:</b>&nbsp;
expandtabs(s, tabSize)&nbsp; -- returns a copy of string &lt;s> with tabs expanded.
find/rfind(s, sub[, start=0[, end=0])
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- Return the lowest/highest index in &lt;s> where the substring
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;sub> is found such that &lt;sub> is wholly contained in
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s[start:end]. Return -1 if &lt;sub> not found.
ljust/rjust/center(s, width)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- Return a copy of string &lt;s> left/right justified/centerd in a
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; field of given width, padded with spaces. &lt;s> is never
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; truncated.
lower/upper(s)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- Return a string that is (a copy of) &lt;s> in lowercase/uppercase
split(s[, sep=whitespace[, maxsplit=0]])
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- Return a list containing the words of the string &lt;s>,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; using the string &lt;sep> as a separator.
join(words[, sep=' '])&nbsp; -- Concatenate a list or tuple of words with intervening
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; separators; inverse of split.
replace(s, old, new[, maxsplit=0]
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- Returns a copy of string &lt;s> with all occurences of substring
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;old> replaced by &lt;new>. Limits to &lt;maxsplit> first
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; substitutions if specified.
strip(s)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- Return a string that is (a copy of) &lt;s> without leading
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; and trailing whitespace. see also lstrip, rstrip.</pre>
<hr>
<center><a NAME="reModule"></a><b><i><font size=+2>re</font></i></b></center>
Patterns are specified as strings. Tip: Use raw strings (e.g. r'\w*') to
litteralize backslashes.
<p><b>Regular Expression Syntax:</b>
<pre>.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; matches any character (including newline if DOTALL flag specified)
^&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; matches start of the string (of every line in MULTILINE mode)
$&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; matches end of the string (of every line in MULTILINE mode)
*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 or more of preceding regular expression (as <b>many</b> as possible)
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1 or more of preceding regular expression (as <b>many</b> as possible)
?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 or 1 occurence of preceding regular expression
*?, +?, ?? Same as&nbsp; *, + and ? but matches as <b>few</b> characters as possible
{m,n}&nbsp;&nbsp; matches from m to n repetitions of preceding RE
{m,n}?&nbsp; idem, attempting to match as <b>few</b> repetitions as possible
[ ]&nbsp;&nbsp;&nbsp;&nbsp; defines character set: e.g. '[a-zA-Z]' to match all letters
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (see also \w \S)
[^ ]&nbsp;&nbsp;&nbsp; defines complemented character set: matches if char is NOT in set
\&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; escapes special chars '*?+&amp;$|()' and introduces special sequences
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (see below). Due to Python string rules, write as '\\' or
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; r'\' in the pattern string.
\\&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; matches a litteral '\'; due to Python string rules, write as '\\\\'
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; in pattern string, or better using raw string: r'\\'.
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; specifies alternative: 'foo|bar' matches 'foo' or 'bar'
(...)&nbsp;&nbsp; matches any RE inside (), and delimits a <i>group</i>.
(?:...) idem but does'nt delimit a <i>group</i>.
(?=...) matches if ... matches next, but doesn't consume any of the string
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; e.g. 'Isaac (?=Asimov)' matches 'Isaac' only if followed by 'Asimov'.
(?!...) matches if ... <b>doesn't</b> match next. Negative of (?=...)
(?P&lt;<i>name</i>>...) matches any RE inside (), and delimits a <b>named</b> <i>group</i>.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (e.g. r'(?P&lt;id>[a-zA-Z_]\w*)' defines a group named <i>id</i>)
(?P=<i>name</i>) matches whatever text was matched by the earlier group named <i>name</i>.
(?#...) A comment; ignored.
(?<i>letter</i>) <i>letter</i> is one of 'i','L', 'm', 's', 'x'. Set the corresponding flags
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (re.I, re.L, re.M, re.S, re.X) for the entire RE.</pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <u>SPECIAL SEQUENCES</u>:
\<i>number</i> matches content of the <i>group</i> of the same number; groups are numbered
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; starting from 1
\A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; matches only at the start of the string
\b&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; empty str at beg or end of <i>word</i>: '\bis\b' matches 'is', but not 'his'
\B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; empty str NOT at beginning or end of word
\d&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; any decimal digit (&lt;=> [0-9])
\D&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; any non-decimal digit char (&lt;=> [^O-9])
\s&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; any whitespace char (&lt;=> [ \t\n\r\f\v])
\S&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; any non-whitespace char (&lt;=> [^ \t\n\r\f\v])
\w&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; any alphaNumeric char (depends on LOCALE flag)
\W&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; any non-alphaNumeric char (depends on LOCALE flag)
\Z&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; matches only at the end of the string</pre>
<b>Variables:</b>
<pre>error&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- Exception when pattern string isn't a valid regexp.</pre>
<b>Functions:</b>
<pre><a NAME="re.compile"></a>compile(pattern[, flags=0])
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- Compile a RE pattern string into a <i><a href="#regExpObj">regular expression object</a></i>.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Flags (combinable by |):
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; I or IGNORECASE or (?i):&nbsp;&nbsp; case insensitive matching
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; L or LOCALE or (?L):&nbsp;&nbsp;&nbsp; make \w, \W, \b, \B dependent on the
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; current locale
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; M or MULTILINE or (?m): matches every new line and not only
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; start/end of the whole string
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; S or DOTALL or (?s):&nbsp;&nbsp;&nbsp; '.' matches ALL chars, including newline
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; X or VERBOSE or (?x)</pre>
<pre>escape(string)&nbsp;&nbsp;&nbsp; -- return (a copy of) string with all non-alphanumerics backslashed.
match(pattern, string[, flags])
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- if 0 or more chars at <b>beginning</b> of &lt;string> match the RE pattern string,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return a corresponding <i><a href="#matchObject">MatchObject</a></i> instance, or None if no match.
search(pattern, string[, flags])
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --scan thru &lt;string> for a location matching &lt;pattern>, return a
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; corresponding <i><a href="#matchObject">MatchObject</a></i> instance, or None if no match.
split(pattern, string[, maxsplit=0])
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --split &lt;string> by occurrences of &lt;pattern>. If capturing () are used in
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pattern, then occurrences of patterns or subpatterns are also returned.
findall(pattern, string)&nbsp; [<b>new</b> in 1.5.2]
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --return a list of non-overlapping matches in &lt;pattern>, either a list of
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; groups or a list of tuples if the pattern has more than 1 group.
sub(pattern, repl, string[, count=0])
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --return string obtained by replacing the (&lt;count> first) lefmost non-
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; overlapping occurrences of &lt;pattern> (a string or a RE object) in &lt;string>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; by &lt;repl>; &lt;repl> can be a string or a fct called with a single <i><a href="#matchObject">MatchObj
</a></i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; arg, which must return the replacement string.
subn(pattern, repl, string[, count=0])
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --same as sub(), but returns a tuple (newString, numberOfSubsMade)</pre>
<a NAME="regExpObj"></a><b>Regular Expression Objects</b>
<br>(RE objects are returned by the <a href="#re.compile">compile</a> fct)
<p><b>Attributes:</b>
<pre>flags&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- flags arg used when RE obj was compiled, or 0 if none provided
groupindex&nbsp;&nbsp; -- dictionary of {group name: group number} in pattern
pattern&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- pattern string from which RE obj was compiled</pre>
<b>Methods:</b>
<pre>match(string[, pos][, endpos])
search(string[, pos][, endpos])
split(string[, maxsplit=0])
findall(string)&nbsp;&nbsp;&nbsp; [<b>new</b> in 1.5.2]
sub(repl, string[, count=0])
subn(repl, string[, count=0]) -- see equivalent functions.</pre>
<a NAME="matchObject"></a><b>Match Objects</b>
<br>(Match objects are returned by the match &amp; search functions)
<p><b>Attributes:</b>
<pre>pos&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- value of pos passed to search or match functions; index into
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string at which RE engine started search.
endpos&nbsp;&nbsp;&nbsp;&nbsp; -- value of endpos passed to search or match functions; index into
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string beyond which RE engine won't go.
re&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- RE object whose match or search fct produced this MatchObj instance
string&nbsp;&nbsp;&nbsp;&nbsp; -- string passed to match() or search()</pre>
<b>Methods:</b>
<pre>group([g1, g2, ...])
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- returns one or more groups of the match. If <b>one</b> arg, result is a string;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if multiple args, result is a tuple with one item per arg. If <i>gi</i> is 0,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return value is entire matching string; if 1 &lt;= <i>gi</i> &lt;= 99, return
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string matching group #<i>gi</i> (or None if no such group); <i>gi</i> may also be
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a group <i>name</i>.
groups()&nbsp;&nbsp;&nbsp;&nbsp; -- returns a tuple of all groups of the match; groups not participating
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; to the match have a value of None. Returns a string instead of tuple
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if len(tuple)=1
start(group)
end(group)&nbsp;&nbsp; -- returns indices of start &amp; end of substring matched by group (or None
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if group exists but doesn't contribute to the match)
span(group)&nbsp; -- returns the 2-tuple (start(group), end(group)); can be (None, None)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if group didn't contibute to the match.</pre>
<hr>
<center><a NAME="mathModule"></a><b><i><font size=+2>math</font></i></b></center>
<p><b>Variables:</b>
<pre>pi
e</pre>
<b>Functions (see ordinary C man pages for info):</b>
<pre>acos(x)
asin(x)
atan(x)
atan2(x, y)
ceil(x)
cos(x)
cosh(x)
exp(x)
fabs(x)
floor(x)
fmod(x, y)
frexp(x)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- Unlike C: (float, int) = frexp(float)
ldexp(x, y)
log(x)
log10(x)
modf(x)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- Unlike C: (float, float) = modf(float)
pow(x, y)
sin(x)
sinh(x)
sqrt(x)
tan(x)
tanh(x)</pre>
<hr>
<center><a NAME="getoptModule"></a><b><i><font size=+2>getopt</font></i></b></center>
<p><b>Functions:</b>
<pre>getopt(list, optstr)&nbsp;&nbsp;&nbsp; -- Similar to C. &lt;optstr> is option
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; letters to look for. Put ':' after letter
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if option takes arg. E.g.
&nbsp;&nbsp;&nbsp; # invocation was "python test.py -c hi -a arg1 arg2"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; opts, args =&nbsp; getopt.getopt(sys.argv[1:], 'ab:c:')&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; # opts would be
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [('-c', 'hi'), ('-a', '')]
&nbsp;&nbsp;&nbsp; # args would be
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ['arg1', 'arg2']</pre>
<pre>
<hr></pre>
<h2>
<a NAME="OtherModules"></a>List of modules in base distribution</h2>
<h3>
Contents of Lib directory<br>
<font size=-1>(Python 1.52 NT distribution, may be slightly different in
other distributions)</font></h3>
<pre>aifc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Stuff to parse AIFF-C and AIFF files.
anydbm&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Generic interface to all dbm clones. (dbhash, gdbm, dbm,dumbdbm)
asynchat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Support for 'chat' style protocols
asyncore&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Asynchronous File I/O (in <i>select</i> style)
audiodev&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Audio support for a few platforms.
base64&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Conversions to/from base64 RFC-MIME transport encoding .
BaseHTTPServer&nbsp; --&nbsp; Base class forhttp services.
Bastion&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; "Bastionification" utility (control access to instance vars)
bdb&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; A generic Python debugger base class.
binhex&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Macintosh binhex compression/decompression.
bisect&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; List bisection algorithms.
calendar&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Calendar printing functions.
cgi&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Wraps the WWW Forms Common Gateway Interface (CGI).
CGIHTTPServer&nbsp;&nbsp; --&nbsp; CGI http services.
cmd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; A generic class to build line-oriented command interpreters.
cmp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Efficiently compare files, boolean outcome only.
cmpcache&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Same, but caches 'stat' results for speed.
code&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Utilities needed to emulate Python's interactive interpreter
colorsys&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Conversion functions between RGB and other color systems.
commands&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Tools for executing UNIX commands .
compileall&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Force "compilation" of all .py files in a directory.
ConfigParser&nbsp;&nbsp;&nbsp; --&nbsp; Configuration file parser (much like windows .ini files)
copy&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Generic shallow and deep copying operations.
copy_reg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Helper to provide extensibility for pickle/cPickle.
dbhash&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; (g)dbm-compatible interface to bsdhash.hashopen.
dircache&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Sorted list of files in a dir, using a cache.
dircmp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Defines a class to build directory diff tools on.
dis&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Bytecode disassembler.
dospath&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Common operations on DOS pathnames.
dumbdbm&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; A dumb and slow but simple dbm clone.
dump&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Print python code that reconstructs a variable.
exceptions&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Class based built-in exception hierarchy.
fileinput&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Helper class to quickly write a loop over all standard input files.
find&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Find files directory hierarchy matching a pattern.
fnmatch&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Filename matching with shell patterns.
formatter&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; A test formatter.
fpformat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; General floating point formatting functions.
ftplib&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; An FTP client class.&nbsp; Based on RFC 959.
getopt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Standard command line processing.
getpass&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Utilities to get a password and/or the current user name.
glob&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; filename globbing.
gopherlib&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Gopher protocol client interface.
grep&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; 'grep' utilities.
gzip&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Read &amp; write gzipped files.
htmlentitydefs&nbsp; --&nbsp; Proposed entity definitions for HTML.
htmllib&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; HTML parsing utilities.
httplib&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; HTTP client class.
ihooks&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Hooks into the "import" mechanism.
imaplib&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; IMAP4 client.Based on RFC 2060.
imghdr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Recognizing image files based on their first few bytes.
keyword&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; List of Python keywords.
knee&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; A Python re-implementation of hierarchical module import.
linecache&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Cache lines from files.
locale&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Support for number formatting using the current locale settings.
macpath&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Pathname (or related) operations for the Macintosh.
macurl2path&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Mac specific module for conversion between pathnames and URLs.
mailbox&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; A class to handle a unix-style or mmdf-style mailbox.
mailcap&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Mailcap file handling (RFC 1524).
mhlib&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; MH (mailbox) interface.
mimetools&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Various tools used by MIME-reading or MIME-writing programs.
mimetypes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Guess the MIME type of a file.
MimeWriter&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Generic MIME writer.
mimify&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Mimification and unmimification of mail messages.
multifile&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Class to make multi-file messages easier to handle.
mutex&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Mutual exclusion -- for use with module sched.
netrc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp;&nbsp;
nntplib&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; An NNTP client class.&nbsp; Based on RFC 977.
ntpath&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Common operations on DOS pathnames.
nturl2path&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Mac specific module for conversion between pathnames and URLs.
os&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Either mac, dos or posix depending system.
packmail&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Create a self-unpacking shell archive.
pdb&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; A Python debugger.
pickle&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Pickling (save and restore) of Python objects (a faster C
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; implementation exists in built-in module: cPickle).
pipes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Conversion pipeline templates.
poly&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Polynomials.
popen2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; variations on pipe open.
poplib&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; A POP3 client class. Based on the J. Myers POP3 draft.
posixfile&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Extended (posix) file operations.
posixpath&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Common operations on POSIX pathnames.
pprint&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Support to pretty-print lists, tuples, &amp; dictionaries recursively.
profile&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Class for profiling python code.
pstats&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Class for printing reports on profiled python code.
pty&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Pseudo terminal utilities.
py_compile&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Routine to "compile" a .py file to a .pyc file.
pyclbr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Parse a Python file and retrieve classes and methods.
Queue&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; A multi-producer, multi-consumer queue.
quopri&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Conversions to/from quoted-printable transport encoding.
rand&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Don't use unless you want compatibility with C's rand().
random&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Random variable generators (obsolete, use whrandom)
re&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Regular Expressions.
reconvert&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Convert old ("regex") regular expressions to new syntax ("re").
regex_syntax&nbsp;&nbsp;&nbsp; --&nbsp; Flags for regex.set_syntax().
regexp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Backward compatibility for module "regexp" using "regex".
regsub&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Regular expression subroutines.
repr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Redo repr() but with limits on most sizes.
rexec&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Restricted execution facilities ("safe" exec, eval, etc).
rfc822&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; RFC-822 message manipulation class.
rlcompleter&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Word completion for GNU readline 2.0.
sched&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; A generally useful event scheduler class.
sgmllib&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; A parser for SGML.
shelve&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Manage shelves of pickled objects.
shlex&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Lexical analyzer class for simple shell-like syntaxes.
shutil&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Utility functions usable in a shell-like program.
SimpleHTTPServer--&nbsp; Simple extension to base http class
site&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Append module search paths for third-party packages to sys.path.
smtplib&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; SMTP Client class (RFC 821)
sndhdr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Several routines that help recognizing sound.
SocketServer&nbsp;&nbsp;&nbsp; --&nbsp; Generic socket server classes.
stat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Constants and functions for interpreting stat/lstat struct.
statcache&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Maintain a cache of file stats.
statvfs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Constants for interpreting statvfs struct as returned by os.statvfs()
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; and os.fstatvfs() (if they exist).
string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; A collection of string operations.
StringIO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; File-like objects that read/write a string buffer (a faster
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C implementation exists in built-in module: cStringIO).
sunau&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Stuff to parse Sun and NeXT audio files.
sunaudio&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Interpret sun audio headers.
symbol&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Non-terminal symbols of Python grammar (from "graminit.h").
telnetlib&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; TELNET client class. Based on RFC 854.
tempfile&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Temporary file name allocation.
threading&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Proposed new higher-level threading interfaces&nbsp;
threading_api&nbsp;&nbsp; --&nbsp; (doc of the threading module)
toaiff&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Convert "arbitrary" sound files to AIFF files .
token&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Tokens (from "token.h").
tokenize&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Compiles a regular expression that recognizes Python tokens.
traceback&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Format and print Python stack traces.
tty&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Terminal utilities.
turtle&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; LogoMation-like turtle graphics
types&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Define names for all type symbols in the std interpreter.
tzparse&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Parse a timezone specification.
urllib&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Open an arbitrary URL.
urlparse&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Parse URLs according to latest draft of standard.
user&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Hook to allow user-specified customization code to run.
UserDict&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; A wrapper to allow subclassing of built-in dict class.
UserList&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; A wrapper to allow subclassing of built-in list class.
util&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; some useful functions that don't fit elsewhere !!
uu&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; UUencode/UUdecode.
wave&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Stuff to parse WAVE files.
whatsound&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Several routines that help recognizing sound files.
whichdb&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Guess which db package to use to open a db file.
whrandom&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Wichmann-Hill random number generator.
xdrlib&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Implements (a subset of) Sun XDR (eXternal Data Representation)
xmllib&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; A parser for XML, using the derived class as static DTD.
zmod&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp; Demonstration of abstruse mathematical concepts.</pre>
<h3>
<hr WIDTH="100%"></h3>
<h3>
<font size=-1>(following list not revised)<br>
<br>
</font>* Built-ins *</h3>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sys&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Interpreter state vars and functions
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; __built-in__&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Access to all built-in python identifiers
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; __main__&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Scope of the interpreters main program, script or stdin
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; array&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Obj efficiently representing arrays of basic values
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; math&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Math functions of C standard
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; time&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Time-related functions
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; regex&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Regular expression matching operations
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; marshal&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Read and write some python values in binary format
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; struct&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Convert between python values and C structs</pre>
<h3>
* Standard *</h3>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; getopt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Parse cmd line args in sys.argv.&nbsp; A la UNIX 'getopt'.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; os&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A more portable interface to OS dependent functionality
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; re&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Functions useful for working with regular expressions
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Useful string and characters functions and exceptions
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; whrandom&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Wichmann-Hill pseudo-random number generator
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; thread&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Low-level primitives for working with process threads
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; threading&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; idem, new recommanded interface.</pre>
<h3>
* Unix/Posix *</h3>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dbm&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Interface to Unix ndbm database library
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; grp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Interface to Unix group database
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; posix&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OS functionality standardized by C and POSIX standards
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; posixpath&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; POSIX pathname functions
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pwd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Access to the Unix password database
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; select&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Access to Unix select multiplex file synchronization
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; socket&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Access to BSD socket interface</pre>
<h3>
* Tk User-interface Toolkit *</h3>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tkinter&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Main interface to Tk</pre>
<h3>
* Multimedia *</h3>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; audioop&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Useful operations on sound fragments
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; imageop&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Useful operations on images
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; jpeg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Access to jpeg image compressor and decompressor
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rgbimg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Access SGI imglib image files</pre>
<h3>
* Cryptographic Extensions *</h3>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; md5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Interface to RSA's MD5 message digest algorithm
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mpz&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Interface to int part of GNU multiple precision library
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rotor&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Implementation of a rotor-based encryption algorithm</pre>
<h3>
* Stdwin * Standard Window System</h3>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; stdwin&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Standard Window System interface
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; stdwinevents&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stdwin event, command, and selection constants
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rect&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Rectangle manipulation operations</pre>
<h3>
* SGI IRIX * (4 &amp; 5)</h3>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; al&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SGI audio facilities
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; al constants
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Interface to FORMS library
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fl constants
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; flp Functions for form designer
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fm&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Access to font manager library
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Access to graphics library
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Constants for gl
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DEVICE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; More constants for gl
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; imgfile&nbsp;&nbsp;&nbsp;&nbsp; Imglib image file interface</pre>
<h3>
* Suns *</h3>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sunaudiodev Access to sun audio interface</pre>
<hr WIDTH="100%">
<h2>
<a NAME="Workspace"></a>Workspace exploration and idiom hints</h2>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dir(&lt;module>)&nbsp;&nbsp; list functions, variables in &lt;module>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dir()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; get object keys, defaults to local name space
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; X.__methods__&nbsp;&nbsp; list of methods supported by X (if any)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; X.__members__&nbsp;&nbsp; List of X's data attributes
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if __name__ == '__main__': main()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; invoke main if running as script
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; map(None, lst1, lst2, ...)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; merge lists
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b = a[:]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; create copy of seq structure
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; in interactive mode, is last value printed
<hr></pre>
<h2>
<a NAME="Emacs"></a>Python Mode for Emacs</h2>
<pre><b><font size=-1>(Not revised, possibly not up to date)</font></b></pre>
<pre>Type C-c ? when in python-mode for extensive help.
INDENTATION
Primarily for entering new code:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TAB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; indent line appropriately
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LFD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; insert newline, then indent
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DEL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; reduce indentation, or delete single character
Primarily for reindenting existing code:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C-c :&nbsp;&nbsp;&nbsp; guess py-indent-offset from file content; change locally
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C-u C-c :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ditto, but change globally
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C-c TAB&nbsp; reindent region to match its context
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C-c &lt;&nbsp;&nbsp;&nbsp; shift region left by py-indent-offset
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C-c >&nbsp;&nbsp;&nbsp; shift region right by py-indent-offset
MARKING &amp; MANIPULATING REGIONS OF CODE
C-c C-b&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mark block of lines
M-C-h&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mark smallest enclosing def
C-u M-C-h&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mark smallest enclosing class
C-c #&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; comment out region of code
C-u C-c #&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; uncomment region of code
MOVING POINT
C-c C-p&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; move to statement preceding point
C-c C-n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; move to statement following point
C-c C-u&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; move up to start of current block
M-C-a&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; move to start of def
C-u M-C-a&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; move to start of class
M-C-e&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; move to end of def
C-u M-C-e&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; move to end of class
EXECUTING PYTHON CODE
C-c C-c sends the entire buffer to the Python interpreter
C-c |&nbsp;&nbsp; sends the current region
C-c !&nbsp;&nbsp; starts a Python interpreter window; this will be used by
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; subsequent C-c C-c or C-c | commands
VARIABLES
py-indent-offset&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; indentation increment
py-block-comment-prefix comment string used by py-comment-region
py-python-command&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; shell command to invoke Python interpreter
py-scroll-process-buffer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t means always scroll Python process buffer
py-temp-directory&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; directory used for temp files (if needed)
py-beep-if-tab-change&nbsp;&nbsp; ring the bell if tab-width is changed</pre>
<hr>
<h2>
<a NAME="Debugger"></a>The Python Debugger</h2>
<pre><b><font size=-1>(Not revised, possibly not up to date, see 1.5.2 Library Ref section 9.1; in 1.5.2, you may also use debugger integrated in IDLE)</font></b></pre>
<h3>
Accessing</h3>
<pre>import <b>pdb</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (it's a module written in Python)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- defines <b>functions :
</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; run(statement[,globals[, locals]])
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- execute statement string under debugger control, with optional
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; global &amp; local environment.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; runeval(expression[,globals[, locals]])
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- same as run, but evaluate expression and return value.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; runcall(function[, argument, ...])
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- run function object with given arg(s)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pm()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- run postmortem on last exception (like debugging a core file)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; post_mortem(t)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- run postmortem on traceback object &lt;t>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- defines <b>class Pdb :
</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; use Pdb to create reusable debugger objects. Object
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; preserves state (i.e. break points) between calls.
&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; runs until a breakpoint hit, exception, or end of program
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If exception, variable '__exception__' holds (exception,value).</pre>
<h3>
Commands</h3>
<pre>h, help
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; brief reminder of commands
b, break [&lt;arg>]
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if &lt;arg> numeric, break at line &lt;arg> in current file
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if &lt;arg> is function object, break on entry to fcn &lt;arg>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if no arg, list breakpoints
cl, clear [&lt;arg>]
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if &lt;arg> numeric, clear breakpoint at &lt;arg> in current file
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if no arg, clear all breakpoints after confirmation
w, where
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print current call stack
u, up
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; move up one stack frame (to top-level caller)
d, down
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; move down one stack frame&nbsp;
s, step
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; advance one line in the program, stepping into calls
n, next
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; advance one line, stepping over calls
r, return
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; continue execution until current function returns
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (return value is saved in variable "__return__", which
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; can be printed or manipulated from debugger)
c, continue
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; continue until next breakpoint
a, args
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print args to current function
rv, retval
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; prints return value from last function that returned
p, print &lt;arg>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; prints value of &lt;arg> in current stack frame
l, list [&lt;first> [, &lt;last>]]
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; List source code for the current file.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Without arguments, list 11 lines around the current line
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; or continue the previous listing.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; With one argument, list 11 lines starting at that line.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; With two arguments, list the given range;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if the second argument is less than the first, it is a count.
whatis &lt;arg>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; prints type of &lt;arg>
!&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; executes rest of line as a Python statement in the current stack frame
q quit
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; immediately stop execution and leave debugger
&lt;return>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; executes last command again
Any input debugger doesn't recognize as a command is assumed to be a
Python statement to execute in the current stack frame, the same way
the exclamation mark ("!") command does.</pre>
<h3>
Example</h3>
<pre>(1394) python
Python 1.0.3 (Sep 26 1994)
Copyright 1991-1994 Stichting Mathematisch Centrum, Amsterdam
>>> import rm
>>> rm.run()
Traceback (innermost last):
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; File "&lt;stdin>", line 1
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; File "./rm.py", line 7
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x = div(3)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; File "./rm.py", line 2
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return a / r
ZeroDivisionError: integer division or modulo
>>> import pdb
>>> pdb.pm()
> ./rm.py(2)div: return a / r
(Pdb) list
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp; def div(a):
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2&nbsp; ->&nbsp;&nbsp;&nbsp;&nbsp; return a / r
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4&nbsp;&nbsp;&nbsp;&nbsp; def run():
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; global r
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; r = 0
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x = div(3)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print x
[EOF]
(Pdb) print r
0
(Pdb) q
>>> pdb.runcall(rm.run)
etc.</pre>
<h3>
Quirks</h3>
Breakpoints are stored as filename, line number tuples. If a module is
reloaded after editing, any remembered breakpoints are likely to be wrong.
<p>Always single-steps through top-most stack frame. That is, "c" acts
like "n".
</body>
</html>