1 | Python 2.3 Quick Reference
|
---|
2 |
|
---|
3 |
|
---|
4 | 25 Jan 2003 upgraded by Raymond Hettinger for Python 2.3
|
---|
5 | 16 May 2001 upgraded by Richard Gruet and Simon Brunning for Python 2.0
|
---|
6 | 2000/07/18 upgraded by Richard Gruet, rgruet@intraware.com for Python 1.5.2
|
---|
7 | from V1.3 ref
|
---|
8 | 1995/10/30, by Chris Hoffmann, choffman@vicorp.com
|
---|
9 |
|
---|
10 | Based on:
|
---|
11 | Python Bestiary, Author: Ken Manheimer, ken.manheimer@nist.gov
|
---|
12 | Python manuals, Authors: Guido van Rossum and Fred Drake
|
---|
13 | What's new in Python 2.0, Authors: A.M. Kuchling and Moshe Zadka
|
---|
14 | python-mode.el, Author: Tim Peters, tim_one@email.msn.com
|
---|
15 |
|
---|
16 | and the readers of comp.lang.python
|
---|
17 |
|
---|
18 | Python's nest: http://www.python.org Developement: http://
|
---|
19 | python.sourceforge.net/ ActivePython : http://www.ActiveState.com/ASPN/
|
---|
20 | Python/
|
---|
21 | newsgroup: comp.lang.python Help desk: help@python.org
|
---|
22 | Resources: http://starship.python.net/
|
---|
23 | http://www.vex.net/parnassus/
|
---|
24 | http://aspn.activestate.com/ASPN/Cookbook/Python
|
---|
25 | FAQ: http://www.python.org/cgi-bin/faqw.py
|
---|
26 | Full documentation: http://www.python.org/doc/
|
---|
27 | Excellent reference books:
|
---|
28 | Python Essential Reference by David Beazley (New Riders)
|
---|
29 | Python Pocket Reference by Mark Lutz (O'Reilly)
|
---|
30 |
|
---|
31 |
|
---|
32 | Invocation Options
|
---|
33 |
|
---|
34 | python [-diOStuUvxX?] [-c command | script | - ] [args]
|
---|
35 |
|
---|
36 | Invocation Options
|
---|
37 | Option Effect
|
---|
38 | -c cmd program passed in as string (terminates option list)
|
---|
39 | -d Outputs parser debugging information (also PYTHONDEBUG=x)
|
---|
40 | -E ignore environment variables (such as PYTHONPATH)
|
---|
41 | -h print this help message and exit
|
---|
42 | -i Inspect interactively after running script (also PYTHONINSPECT=x) and
|
---|
43 | force prompts, even if stdin appears not to be a terminal
|
---|
44 | -m mod run library module as a script (terminates option list
|
---|
45 | -O optimize generated bytecode (a tad; also PYTHONOPTIMIZE=x)
|
---|
46 | -OO remove doc-strings in addition to the -O optimizations
|
---|
47 | -Q arg division options: -Qold (default), -Qwarn, -Qwarnall, -Qnew
|
---|
48 | -S Don't perform 'import site' on initialization
|
---|
49 | -t Issue warnings about inconsistent tab usage (-tt: issue errors)
|
---|
50 | -u Unbuffered binary stdout and stderr (also PYTHONUNBUFFERED=x).
|
---|
51 | -v Verbose (trace import statements) (also PYTHONVERBOSE=x)
|
---|
52 | -W arg : warning control (arg is action:message:category:module:lineno)
|
---|
53 | -x Skip first line of source, allowing use of non-unix Forms of #!cmd
|
---|
54 | -? Help!
|
---|
55 | -3 warn about Python 3.x incompatibilities
|
---|
56 | -c Specify the command to execute (see next section). This terminates the
|
---|
57 | command option list (following options are passed as arguments to the command).
|
---|
58 | the name of a python file (.py) to execute read from stdin.
|
---|
59 | script Anything afterward is passed as options to python script or command,
|
---|
60 | not interpreted as an option to interpreter itself.
|
---|
61 | args passed to script or command (in sys.argv[1:])
|
---|
62 | If no script or command, Python enters interactive mode.
|
---|
63 |
|
---|
64 | * Available IDEs in std distrib: IDLE (tkinter based, portable), Pythonwin
|
---|
65 | (Windows).
|
---|
66 |
|
---|
67 |
|
---|
68 |
|
---|
69 | Environment variables
|
---|
70 |
|
---|
71 | Environment variables
|
---|
72 | Variable Effect
|
---|
73 | PYTHONHOME Alternate prefix directory (or prefix;exec_prefix). The
|
---|
74 | default module search path uses prefix/lib
|
---|
75 | Augments the default search path for module files. The format
|
---|
76 | is the same as the shell's $PATH: one or more directory
|
---|
77 | pathnames separated by ':' or ';' without spaces around
|
---|
78 | (semi-)colons!
|
---|
79 | PYTHONPATH On Windows first search for Registry key HKEY_LOCAL_MACHINE\
|
---|
80 | Software\Python\PythonCore\x.y\PythonPath (default value). You
|
---|
81 | may also define a key named after your application with a
|
---|
82 | default string value giving the root directory path of your
|
---|
83 | app.
|
---|
84 | If this is the name of a readable file, the Python commands in
|
---|
85 | PYTHONSTARTUP that file are executed before the first prompt is displayed in
|
---|
86 | interactive mode (no default).
|
---|
87 | PYTHONDEBUG If non-empty, same as -d option
|
---|
88 | PYTHONINSPECT If non-empty, same as -i option
|
---|
89 | PYTHONSUPPRESS If non-empty, same as -s option
|
---|
90 | PYTHONUNBUFFERED If non-empty, same as -u option
|
---|
91 | PYTHONVERBOSE If non-empty, same as -v option
|
---|
92 | PYTHONCASEOK If non-empty, ignore case in file/module names (imports)
|
---|
93 |
|
---|
94 |
|
---|
95 |
|
---|
96 |
|
---|
97 | Notable lexical entities
|
---|
98 |
|
---|
99 | Keywords
|
---|
100 |
|
---|
101 | and del for is raise
|
---|
102 | assert elif from lambda return
|
---|
103 | break else global not try
|
---|
104 | class except if or while
|
---|
105 | continue exec import pass yield
|
---|
106 | def finally in print
|
---|
107 |
|
---|
108 | * (list of keywords in std module: keyword)
|
---|
109 | * Illegitimate Tokens (only valid in strings): @ $ ?
|
---|
110 | * A statement must all be on a single line. To break a statement over
|
---|
111 | multiple lines use "\", as with the C preprocessor.
|
---|
112 | Exception: can always break when inside any (), [], or {} pair, or in
|
---|
113 | triple-quoted strings.
|
---|
114 | * More than one statement can appear on a line if they are separated with
|
---|
115 | semicolons (";").
|
---|
116 | * Comments start with "#" and continue to end of line.
|
---|
117 |
|
---|
118 | Identifiers
|
---|
119 |
|
---|
120 | (letter | "_") (letter | digit | "_")*
|
---|
121 |
|
---|
122 | * Python identifiers keywords, attributes, etc. are case-sensitive.
|
---|
123 | * Special forms: _ident (not imported by 'from module import *'); __ident__
|
---|
124 | (system defined name);
|
---|
125 | __ident (class-private name mangling)
|
---|
126 |
|
---|
127 | Strings
|
---|
128 |
|
---|
129 | "a string enclosed by double quotes"
|
---|
130 | 'another string delimited by single quotes and with a " inside'
|
---|
131 | '''a string containing embedded newlines and quote (') marks, can be
|
---|
132 | delimited with triple quotes.'''
|
---|
133 | """ may also use 3- double quotes as delimiters """
|
---|
134 | u'a unicode string' U"Another unicode string"
|
---|
135 | r'a raw string where \ are kept (literalized): handy for regular
|
---|
136 | expressions and windows paths!'
|
---|
137 | R"another raw string" -- raw strings cannot end with a \
|
---|
138 | ur'a unicode raw string' UR"another raw unicode"
|
---|
139 |
|
---|
140 | Use \ at end of line to continue a string on next line.
|
---|
141 | adjacent strings are concatened, e.g. 'Monty' ' Python' is the same as
|
---|
142 | 'Monty Python'.
|
---|
143 | u'hello' + ' world' --> u'hello world' (coerced to unicode)
|
---|
144 |
|
---|
145 | String Literal Escapes
|
---|
146 |
|
---|
147 | \newline Ignored (escape newline)
|
---|
148 | \\ Backslash (\) \e Escape (ESC) \v Vertical Tab (VT)
|
---|
149 | \' Single quote (') \f Formfeed (FF) \OOO char with octal value OOO
|
---|
150 | \" Double quote (") \n Linefeed (LF)
|
---|
151 | \a Bell (BEL) \r Carriage Return (CR) \xHH char with hex value HH
|
---|
152 | \b Backspace (BS) \t Horizontal Tab (TAB)
|
---|
153 | \uHHHH unicode char with hex value HHHH, can only be used in unicode string
|
---|
154 | \UHHHHHHHH unicode char with hex value HHHHHHHH, can only be used in unicode string
|
---|
155 | \AnyOtherChar is left as-is
|
---|
156 |
|
---|
157 | * NUL byte (\000) is NOT an end-of-string marker; NULs may be embedded in
|
---|
158 | strings.
|
---|
159 | * Strings (and tuples) are immutable: they cannot be modified.
|
---|
160 |
|
---|
161 | Numbers
|
---|
162 |
|
---|
163 | Decimal integer: 1234, 1234567890546378940L (or l)
|
---|
164 | Octal integer: 0177, 0177777777777777777 (begin with a 0)
|
---|
165 | Hex integer: 0xFF, 0XFFFFffffFFFFFFFFFF (begin with 0x or 0X)
|
---|
166 | Long integer (unlimited precision): 1234567890123456
|
---|
167 | Float (double precision): 3.14e-10, .001, 10., 1E3
|
---|
168 | Complex: 1J, 2+3J, 4+5j (ends with J or j, + separates (float) real and
|
---|
169 | imaginary parts)
|
---|
170 |
|
---|
171 | Sequences
|
---|
172 |
|
---|
173 | * String of length 0, 1, 2 (see above)
|
---|
174 | '', '1', "12", 'hello\n'
|
---|
175 | * Tuple of length 0, 1, 2, etc:
|
---|
176 | () (1,) (1,2) # parentheses are optional if len > 0
|
---|
177 | * List of length 0, 1, 2, etc:
|
---|
178 | [] [1] [1,2]
|
---|
179 |
|
---|
180 | Indexing is 0-based. Negative indices (usually) mean count backwards from end
|
---|
181 | of sequence.
|
---|
182 |
|
---|
183 | Sequence slicing [starting-at-index : but-less-than-index]. Start defaults to
|
---|
184 | '0'; End defaults to 'sequence-length'.
|
---|
185 |
|
---|
186 | a = (0,1,2,3,4,5,6,7)
|
---|
187 | a[3] ==> 3
|
---|
188 | a[-1] ==> 7
|
---|
189 | a[2:4] ==> (2, 3)
|
---|
190 | a[1:] ==> (1, 2, 3, 4, 5, 6, 7)
|
---|
191 | a[:3] ==> (0, 1, 2)
|
---|
192 | a[:] ==> (0,1,2,3,4,5,6,7) # makes a copy of the sequence.
|
---|
193 |
|
---|
194 | Dictionaries (Mappings)
|
---|
195 |
|
---|
196 | {} # Zero length empty dictionary
|
---|
197 | {1 : 'first'} # Dictionary with one (key, value) pair
|
---|
198 | {1 : 'first', 'next': 'second'}
|
---|
199 | dict([('one',1),('two',2)]) # Construct a dict from an item list
|
---|
200 | dict('one'=1, 'two'=2) # Construct a dict using keyword args
|
---|
201 | dict.fromkeys(['one', 'keys']) # Construct a dict from a sequence
|
---|
202 |
|
---|
203 | Operators and their evaluation order
|
---|
204 |
|
---|
205 | Operators and their evaluation order
|
---|
206 | Highest Operator Comment
|
---|
207 | (...) [...] {...} `...` Tuple, list & dict. creation; string
|
---|
208 | conv.
|
---|
209 | s[i] s[i:j] s.attr f(...) indexing & slicing; attributes, fct
|
---|
210 | calls
|
---|
211 | +x, -x, ~x Unary operators
|
---|
212 | x**y Power
|
---|
213 | x*y x/y x%y x//y mult, division, modulo, floor division
|
---|
214 | x+y x-y addition, subtraction
|
---|
215 | x<<y x>>y Bit shifting
|
---|
216 | x&y Bitwise and
|
---|
217 | x^y Bitwise exclusive or
|
---|
218 | x|y Bitwise or
|
---|
219 | x<y x<=y x>y x>=y x==y x!=y Comparison,
|
---|
220 | x<>y identity,
|
---|
221 | x is y x is not y membership
|
---|
222 | x in s x not in s
|
---|
223 | not x boolean negation
|
---|
224 | x and y boolean and
|
---|
225 | x or y boolean or
|
---|
226 | Lowest lambda args: expr anonymous function
|
---|
227 |
|
---|
228 | Alternate names are defined in module operator (e.g. __add__ and add for +)
|
---|
229 | Most operators are overridable.
|
---|
230 |
|
---|
231 | Many binary operators also support augmented assignment:
|
---|
232 | x += 1 # Same as x = x + 1
|
---|
233 |
|
---|
234 |
|
---|
235 | Basic Types and Their Operations
|
---|
236 |
|
---|
237 | Comparisons (defined between *any* types)
|
---|
238 |
|
---|
239 | Comparisons
|
---|
240 | Comparison Meaning Notes
|
---|
241 | < strictly less than (1)
|
---|
242 | <= less than or equal to
|
---|
243 | > strictly greater than
|
---|
244 | >= greater than or equal to
|
---|
245 | == equal to
|
---|
246 | != or <> not equal to
|
---|
247 | is object identity (2)
|
---|
248 | is not negated object identity (2)
|
---|
249 |
|
---|
250 | Notes :
|
---|
251 | Comparison behavior can be overridden for a given class by defining special
|
---|
252 | method __cmp__.
|
---|
253 | The above comparisons return True or False which are of type bool
|
---|
254 | (a subclass of int) and behave exactly as 1 or 0 except for their type and
|
---|
255 | that they print as True or False instead of 1 or 0.
|
---|
256 | (1) X < Y < Z < W has expected meaning, unlike C
|
---|
257 | (2) Compare object identities (i.e. id(object)), not object values.
|
---|
258 |
|
---|
259 | Boolean values and operators
|
---|
260 |
|
---|
261 | Boolean values and operators
|
---|
262 | Value or Operator Returns Notes
|
---|
263 | None, numeric zeros, empty sequences and False
|
---|
264 | mappings
|
---|
265 | all other values True
|
---|
266 | not x True if x is False, else
|
---|
267 | True
|
---|
268 | x or y if x is False then y, else (1)
|
---|
269 | x
|
---|
270 | x and y if x is False then x, else (1)
|
---|
271 | y
|
---|
272 |
|
---|
273 | Notes :
|
---|
274 | Truth testing behavior can be overridden for a given class by defining
|
---|
275 | special method __nonzero__.
|
---|
276 | (1) Evaluate second arg only if necessary to determine outcome.
|
---|
277 |
|
---|
278 | None
|
---|
279 |
|
---|
280 | None is used as default return value on functions. Built-in single object
|
---|
281 | with type NoneType.
|
---|
282 | Input that evaluates to None does not print when running Python
|
---|
283 | interactively.
|
---|
284 |
|
---|
285 | Numeric types
|
---|
286 |
|
---|
287 | Floats, integers and long integers.
|
---|
288 |
|
---|
289 | Floats are implemented with C doubles.
|
---|
290 | Integers are implemented with C longs.
|
---|
291 | Long integers have unlimited size (only limit is system resources)
|
---|
292 |
|
---|
293 | Operators on all numeric types
|
---|
294 |
|
---|
295 | Operators on all numeric types
|
---|
296 | Operation Result
|
---|
297 | abs(x) the absolute value of x
|
---|
298 | int(x) x converted to integer
|
---|
299 | long(x) x converted to long integer
|
---|
300 | float(x) x converted to floating point
|
---|
301 | -x x negated
|
---|
302 | +x x unchanged
|
---|
303 | x + y the sum of x and y
|
---|
304 | x - y difference of x and y
|
---|
305 | x * y product of x and y
|
---|
306 | x / y quotient of x and y
|
---|
307 | x % y remainder of x / y
|
---|
308 | divmod(x, y) the tuple (x/y, x%y)
|
---|
309 | x ** y x to the power y (the same as pow(x, y))
|
---|
310 |
|
---|
311 | Bit operators on integers and long integers
|
---|
312 |
|
---|
313 | Bit operators
|
---|
314 | Operation >Result
|
---|
315 | ~x the bits of x inverted
|
---|
316 | x ^ y bitwise exclusive or of x and y
|
---|
317 | x & y bitwise and of x and y
|
---|
318 | x | y bitwise or of x and y
|
---|
319 | x << n x shifted left by n bits
|
---|
320 | x >> n x shifted right by n bits
|
---|
321 |
|
---|
322 | Complex Numbers
|
---|
323 |
|
---|
324 | * represented as a pair of machine-level double precision floating point
|
---|
325 | numbers.
|
---|
326 | * The real and imaginary value of a complex number z can be retrieved through
|
---|
327 | the attributes z.real and z.imag.
|
---|
328 |
|
---|
329 | Numeric exceptions
|
---|
330 |
|
---|
331 | TypeError
|
---|
332 | raised on application of arithmetic operation to non-number
|
---|
333 | OverflowError
|
---|
334 | numeric bounds exceeded
|
---|
335 | ZeroDivisionError
|
---|
336 | raised when zero second argument of div or modulo op
|
---|
337 | FloatingPointError
|
---|
338 | raised when a floating point operation fails
|
---|
339 |
|
---|
340 | Operations on all sequence types (lists, tuples, strings)
|
---|
341 |
|
---|
342 | Operations on all sequence types
|
---|
343 | Operation Result Notes
|
---|
344 | x in s True if an item of s is equal to x, else False
|
---|
345 | x not in s False if an item of s is equal to x, else True
|
---|
346 | for x in s: loops over the sequence
|
---|
347 | s + t the concatenation of s and t
|
---|
348 | s * n, n*s n copies of s concatenated
|
---|
349 | s[i] i'th item of s, origin 0 (1)
|
---|
350 | s[i:j] slice of s from i (included) to j (excluded) (1), (2)
|
---|
351 | len(s) length of s
|
---|
352 | min(s) smallest item of s
|
---|
353 | max(s) largest item of (s)
|
---|
354 | iter(s) returns an iterator over s. iterators define __iter__ and next()
|
---|
355 |
|
---|
356 | Notes :
|
---|
357 | (1) if i or j is negative, the index is relative to the end of the string,
|
---|
358 | ie len(s)+ i or len(s)+j is
|
---|
359 | substituted. But note that -0 is still 0.
|
---|
360 | (2) The slice of s from i to j is defined as the sequence of items with
|
---|
361 | index k such that i <= k < j.
|
---|
362 | If i or j is greater than len(s), use len(s). If i is omitted, use
|
---|
363 | len(s). If i is greater than or
|
---|
364 | equal to j, the slice is empty.
|
---|
365 |
|
---|
366 | Operations on mutable (=modifiable) sequences (lists)
|
---|
367 |
|
---|
368 | Operations on mutable sequences
|
---|
369 | Operation Result Notes
|
---|
370 | s[i] =x item i of s is replaced by x
|
---|
371 | s[i:j] = t slice of s from i to j is replaced by t
|
---|
372 | del s[i:j] same as s[i:j] = []
|
---|
373 | s.append(x) same as s[len(s) : len(s)] = [x]
|
---|
374 | s.count(x) return number of i's for which s[i] == x
|
---|
375 | s.extend(x) same as s[len(s):len(s)]= x
|
---|
376 | s.index(x) return smallest i such that s[i] == x (1)
|
---|
377 | s.insert(i, x) same as s[i:i] = [x] if i >= 0
|
---|
378 | s.pop([i]) same as x = s[i]; del s[i]; return x (4)
|
---|
379 | s.remove(x) same as del s[s.index(x)] (1)
|
---|
380 | s.reverse() reverse the items of s in place (3)
|
---|
381 | s.sort([cmpFct]) sort the items of s in place (2), (3)
|
---|
382 |
|
---|
383 | Notes :
|
---|
384 | (1) raise a ValueError exception when x is not found in s (i.e. out of
|
---|
385 | range).
|
---|
386 | (2) The sort() method takes an optional argument specifying a comparison
|
---|
387 | fct of 2 arguments (list items) which should
|
---|
388 | return -1, 0, or 1 depending on whether the 1st argument is
|
---|
389 | considered smaller than, equal to, or larger than the 2nd
|
---|
390 | argument. Note that this slows the sorting process down considerably.
|
---|
391 | (3) The sort() and reverse() methods modify the list in place for economy
|
---|
392 | of space when sorting or reversing a large list.
|
---|
393 | They don't return the sorted or reversed list to remind you of this
|
---|
394 | side effect.
|
---|
395 | (4) [New 1.5.2] The optional argument i defaults to -1, so that by default the last
|
---|
396 | item is removed and returned.
|
---|
397 |
|
---|
398 |
|
---|
399 |
|
---|
400 | Operations on mappings (dictionaries)
|
---|
401 |
|
---|
402 | Operations on mappings
|
---|
403 | Operation Result Notes
|
---|
404 | len(d) the number of items in d
|
---|
405 | d[k] the item of d with key k (1)
|
---|
406 | d[k] = x set d[k] to x
|
---|
407 | del d[k] remove d[k] from d (1)
|
---|
408 | d.clear() remove all items from d
|
---|
409 | d.copy() a shallow copy of d
|
---|
410 | d.get(k,defaultval) the item of d with key k (4)
|
---|
411 | d.has_key(k) True if d has key k, else False
|
---|
412 | d.items() a copy of d's list of (key, item) pairs (2)
|
---|
413 | d.iteritems() an iterator over (key, value) pairs (7)
|
---|
414 | d.iterkeys() an iterator over the keys of d (7)
|
---|
415 | d.itervalues() an iterator over the values of d (7)
|
---|
416 | d.keys() a copy of d's list of keys (2)
|
---|
417 | d1.update(d2) for k, v in d2.items(): d1[k] = v (3)
|
---|
418 | d.values() a copy of d's list of values (2)
|
---|
419 | d.pop(k) remove d[k] and return its value
|
---|
420 | d.popitem() remove and return an arbitrary (6)
|
---|
421 | (key, item) pair
|
---|
422 | d.setdefault(k,defaultval) the item of d with key k (5)
|
---|
423 |
|
---|
424 | Notes :
|
---|
425 | TypeError is raised if key is not acceptable
|
---|
426 | (1) KeyError is raised if key k is not in the map
|
---|
427 | (2) Keys and values are listed in random order
|
---|
428 | (3) d2 must be of the same type as d1
|
---|
429 | (4) Never raises an exception if k is not in the map, instead it returns
|
---|
430 | defaultVal.
|
---|
431 | defaultVal is optional, when not provided and k is not in the map,
|
---|
432 | None is returned.
|
---|
433 | (5) Never raises an exception if k is not in the map, instead it returns
|
---|
434 | defaultVal, and adds k to map with value defaultVal. defaultVal is
|
---|
435 | optional. When not provided and k is not in the map, None is returned and
|
---|
436 | added to map.
|
---|
437 | (6) Raises a KeyError if the dictionary is emtpy.
|
---|
438 | (7) While iterating over a dictionary, the values may be updated but
|
---|
439 | the keys cannot be changed.
|
---|
440 |
|
---|
441 | Operations on strings
|
---|
442 |
|
---|
443 | Note that these string methods largely (but not completely) supersede the
|
---|
444 | functions available in the string module.
|
---|
445 |
|
---|
446 |
|
---|
447 | Operations on strings
|
---|
448 | Operation Result Notes
|
---|
449 | s.capitalize() return a copy of s with only its first character
|
---|
450 | capitalized.
|
---|
451 | s.center(width) return a copy of s centered in a string of length width (1)
|
---|
452 | .
|
---|
453 | s.count(sub[ return the number of occurrences of substring sub in (2)
|
---|
454 | ,start[,end]]) string s.
|
---|
455 | s.decode(([ return a decoded version of s. (3)
|
---|
456 | encoding
|
---|
457 | [,errors]])
|
---|
458 | s.encode([ return an encoded version of s. Default encoding is the
|
---|
459 | encoding current default string encoding. (3)
|
---|
460 | [,errors]])
|
---|
461 | s.endswith(suffix return true if s ends with the specified suffix, (2)
|
---|
462 | [,start[,end]]) otherwise return False.
|
---|
463 | s.expandtabs([ return a copy of s where all tab characters are (4)
|
---|
464 | tabsize]) expanded using spaces.
|
---|
465 | s.find(sub[,start return the lowest index in s where substring sub is (2)
|
---|
466 | [,end]]) found. Return -1 if sub is not found.
|
---|
467 | s.index(sub[ like find(), but raise ValueError when the substring is (2)
|
---|
468 | ,start[,end]]) not found.
|
---|
469 | s.isalnum() return True if all characters in s are alphanumeric, (5)
|
---|
470 | False otherwise.
|
---|
471 | s.isalpha() return True if all characters in s are alphabetic, (5)
|
---|
472 | False otherwise.
|
---|
473 | s.isdigit() return True if all characters in s are digit (5)
|
---|
474 | characters, False otherwise.
|
---|
475 | s.islower() return True if all characters in s are lowercase, False (6)
|
---|
476 | otherwise.
|
---|
477 | s.isspace() return True if all characters in s are whitespace (5)
|
---|
478 | characters, False otherwise.
|
---|
479 | s.istitle() return True if string s is a titlecased string, False (7)
|
---|
480 | otherwise.
|
---|
481 | s.isupper() return True if all characters in s are uppercase, False (6)
|
---|
482 | otherwise.
|
---|
483 | s.join(seq) return a concatenation of the strings in the sequence
|
---|
484 | seq, separated by 's's.
|
---|
485 | s.ljust(width) return s left justified in a string of length width. (1),
|
---|
486 | (8)
|
---|
487 | s.lower() return a copy of s converted to lowercase.
|
---|
488 | s.lstrip() return a copy of s with leading whitespace removed.
|
---|
489 | s.replace(old, return a copy of s with all occurrences of substring (9)
|
---|
490 | new[, maxsplit]) old replaced by new.
|
---|
491 | s.rfind(sub[ return the highest index in s where substring sub is (2)
|
---|
492 | ,start[,end]]) found. Return -1 if sub is not found.
|
---|
493 | s.rindex(sub[ like rfind(), but raise ValueError when the substring (2)
|
---|
494 | ,start[,end]]) is not found.
|
---|
495 | s.rjust(width) return s right justified in a string of length width. (1),
|
---|
496 | (8)
|
---|
497 | s.rstrip() return a copy of s with trailing whitespace removed.
|
---|
498 | s.split([sep[ return a list of the words in s, using sep as the (10)
|
---|
499 | ,maxsplit]]) delimiter string.
|
---|
500 | s.splitlines([ return a list of the lines in s, breaking at line (11)
|
---|
501 | keepends]) boundaries.
|
---|
502 | s.startswith return true if s starts with the specified prefix,
|
---|
503 | (prefix[,start[ otherwise return false. (2)
|
---|
504 | ,end]])
|
---|
505 | s.strip() return a copy of s with leading and trailing whitespace
|
---|
506 | removed.
|
---|
507 | s.swapcase() return a copy of s with uppercase characters converted
|
---|
508 | to lowercase and vice versa.
|
---|
509 | return a titlecased copy of s, i.e. words start with
|
---|
510 | s.title() uppercase characters, all remaining cased characters
|
---|
511 | are lowercase.
|
---|
512 | s.translate(table return a copy of s mapped through translation table (12)
|
---|
513 | [,deletechars]) table.
|
---|
514 | s.upper() return a copy of s converted to uppercase.
|
---|
515 | s.zfill(width) return a string padded with zeroes on the left side and
|
---|
516 | sliding a minus sign left if necessary. never truncates.
|
---|
517 |
|
---|
518 | Notes :
|
---|
519 | (1) Padding is done using spaces.
|
---|
520 | (2) If optional argument start is supplied, substring s[start:] is
|
---|
521 | processed. If optional arguments start and end are supplied, substring s[start:
|
---|
522 | end] is processed.
|
---|
523 | (3) Optional argument errors may be given to set a different error handling
|
---|
524 | scheme. The default for errors is 'strict', meaning that encoding errors raise
|
---|
525 | a ValueError. Other possible values are 'ignore' and 'replace'.
|
---|
526 | (4) If optional argument tabsize is not given, a tab size of 8 characters
|
---|
527 | is assumed.
|
---|
528 | (5) Returns false if string s does not contain at least one character.
|
---|
529 | (6) Returns false if string s does not contain at least one cased
|
---|
530 | character.
|
---|
531 | (7) A titlecased string is a string in which uppercase characters may only
|
---|
532 | follow uncased characters and lowercase characters only cased ones.
|
---|
533 | (8) s is returned if width is less than len(s).
|
---|
534 | (9) If the optional argument maxsplit is given, only the first maxsplit
|
---|
535 | occurrences are replaced.
|
---|
536 | (10) If sep is not specified or None, any whitespace string is a separator.
|
---|
537 | If maxsplit is given, at most maxsplit splits are done.
|
---|
538 | (11) Line breaks are not included in the resulting list unless keepends is
|
---|
539 | given and true.
|
---|
540 | (12) table must be a string of length 256. All characters occurring in the
|
---|
541 | optional argument deletechars are removed prior to translation.
|
---|
542 |
|
---|
543 | String formatting with the % operator
|
---|
544 |
|
---|
545 | formatString % args--> evaluates to a string
|
---|
546 |
|
---|
547 | * formatString uses C printf format codes : %, c, s, i, d, u, o, x, X, e, E,
|
---|
548 | f, g, G, r (details below).
|
---|
549 | * Width and precision may be a * to specify that an integer argument gives
|
---|
550 | the actual width or precision.
|
---|
551 | * The flag characters -, +, blank, # and 0 are understood. (details below)
|
---|
552 | * %s will convert any type argument to string (uses str() function)
|
---|
553 | * args may be a single arg or a tuple of args
|
---|
554 |
|
---|
555 | '%s has %03d quote types.' % ('Python', 2) # => 'Python has 002 quote types.'
|
---|
556 |
|
---|
557 | * Right-hand-side can also be a mapping:
|
---|
558 |
|
---|
559 | a = '%(lang)s has %(c)03d quote types.' % {'c':2, 'lang':'Python}
|
---|
560 | (vars() function very handy to use on right-hand-side.)
|
---|
561 |
|
---|
562 | Format codes
|
---|
563 | Conversion Meaning
|
---|
564 | d Signed integer decimal.
|
---|
565 | i Signed integer decimal.
|
---|
566 | o Unsigned octal.
|
---|
567 | u Unsigned decimal.
|
---|
568 | x Unsigned hexadecimal (lowercase).
|
---|
569 | X Unsigned hexadecimal (uppercase).
|
---|
570 | e Floating point exponential format (lowercase).
|
---|
571 | E Floating point exponential format (uppercase).
|
---|
572 | f Floating point decimal format.
|
---|
573 | F Floating point decimal format.
|
---|
574 | g Same as "e" if exponent is greater than -4 or less than precision,
|
---|
575 | "f" otherwise.
|
---|
576 | G Same as "E" if exponent is greater than -4 or less than precision,
|
---|
577 | "F" otherwise.
|
---|
578 | c Single character (accepts integer or single character string).
|
---|
579 | r String (converts any python object using repr()).
|
---|
580 | s String (converts any python object using str()).
|
---|
581 | % No argument is converted, results in a "%" character in the result.
|
---|
582 | (The complete specification is %%.)
|
---|
583 |
|
---|
584 | Conversion flag characters
|
---|
585 | Flag Meaning
|
---|
586 | # The value conversion will use the ``alternate form''.
|
---|
587 | 0 The conversion will be zero padded.
|
---|
588 | - The converted value is left adjusted (overrides "-").
|
---|
589 | (a space) A blank should be left before a positive number (or empty
|
---|
590 | string) produced by a signed conversion.
|
---|
591 | + A sign character ("+" or "-") will precede the conversion (overrides a
|
---|
592 | "space" flag).
|
---|
593 |
|
---|
594 | File Objects
|
---|
595 |
|
---|
596 | Created with built-in function open; may be created by other modules' functions
|
---|
597 | as well.
|
---|
598 |
|
---|
599 | Operators on file objects
|
---|
600 |
|
---|
601 | File operations
|
---|
602 | Operation Result
|
---|
603 | f.close() Close file f.
|
---|
604 | f.fileno() Get fileno (fd) for file f.
|
---|
605 | f.flush() Flush file f's internal buffer.
|
---|
606 | f.isatty() True if file f is connected to a tty-like dev, else False.
|
---|
607 | f.read([size]) Read at most size bytes from file f and return as a string
|
---|
608 | object. If size omitted, read to EOF.
|
---|
609 | f.readline() Read one entire line from file f.
|
---|
610 | f.readlines() Read until EOF with readline() and return list of lines read.
|
---|
611 | Set file f's position, like "stdio's fseek()".
|
---|
612 | f.seek(offset[, whence == 0 then use absolute indexing.
|
---|
613 | whence=0]) whence == 1 then offset relative to current pos.
|
---|
614 | whence == 2 then offset relative to file end.
|
---|
615 | f.tell() Return file f's current position (byte offset).
|
---|
616 | f.write(str) Write string to file f.
|
---|
617 | f.writelines(list Write list of strings to file f.
|
---|
618 | )
|
---|
619 |
|
---|
620 | File Exceptions
|
---|
621 |
|
---|
622 | EOFError
|
---|
623 | End-of-file hit when reading (may be raised many times, e.g. if f is a
|
---|
624 | tty).
|
---|
625 | IOError
|
---|
626 | Other I/O-related I/O operation failure.
|
---|
627 | OSError
|
---|
628 | OS system call failed.
|
---|
629 |
|
---|
630 |
|
---|
631 | Advanced Types
|
---|
632 |
|
---|
633 | -See manuals for more details -
|
---|
634 | + Module objects
|
---|
635 | + Class objects
|
---|
636 | + Class instance objects
|
---|
637 | + Type objects (see module: types)
|
---|
638 | + File objects (see above)
|
---|
639 | + Slice objects
|
---|
640 | + XRange objects
|
---|
641 | + Callable types:
|
---|
642 | o User-defined (written in Python):
|
---|
643 | # User-defined Function objects
|
---|
644 | # User-defined Method objects
|
---|
645 | o Built-in (written in C):
|
---|
646 | # Built-in Function objects
|
---|
647 | # Built-in Method objects
|
---|
648 | + Internal Types:
|
---|
649 | o Code objects (byte-compile executable Python code: bytecode)
|
---|
650 | o Frame objects (execution frames)
|
---|
651 | o Traceback objects (stack trace of an exception)
|
---|
652 |
|
---|
653 |
|
---|
654 | Statements
|
---|
655 |
|
---|
656 | pass -- Null statement
|
---|
657 | del name[,name]* -- Unbind name(s) from object. Object will be indirectly
|
---|
658 | (and automatically) deleted only if no longer referenced.
|
---|
659 | print [>> fileobject,] [s1 [, s2 ]* [,]
|
---|
660 | -- Writes to sys.stdout, or to fileobject if supplied.
|
---|
661 | Puts spaces between arguments. Puts newline at end
|
---|
662 | unless statement ends with comma.
|
---|
663 | Print is not required when running interactively,
|
---|
664 | simply typing an expression will print its value,
|
---|
665 | unless the value is None.
|
---|
666 | exec x [in globals [,locals]]
|
---|
667 | -- Executes x in namespaces provided. Defaults
|
---|
668 | to current namespaces. x can be a string, file
|
---|
669 | object or a function object.
|
---|
670 | callable(value,... [id=value], [*args], [**kw])
|
---|
671 | -- Call function callable with parameters. Parameters can
|
---|
672 | be passed by name or be omitted if function
|
---|
673 | defines default values. E.g. if callable is defined as
|
---|
674 | "def callable(p1=1, p2=2)"
|
---|
675 | "callable()" <=> "callable(1, 2)"
|
---|
676 | "callable(10)" <=> "callable(10, 2)"
|
---|
677 | "callable(p2=99)" <=> "callable(1, 99)"
|
---|
678 | *args is a tuple of positional arguments.
|
---|
679 | **kw is a dictionary of keyword arguments.
|
---|
680 |
|
---|
681 | Assignment operators
|
---|
682 |
|
---|
683 | Caption
|
---|
684 | Operator Result Notes
|
---|
685 | a = b Basic assignment - assign object b to label a (1)
|
---|
686 | a += b Roughly equivalent to a = a + b (2)
|
---|
687 | a -= b Roughly equivalent to a = a - b (2)
|
---|
688 | a *= b Roughly equivalent to a = a * b (2)
|
---|
689 | a /= b Roughly equivalent to a = a / b (2)
|
---|
690 | a %= b Roughly equivalent to a = a % b (2)
|
---|
691 | a **= b Roughly equivalent to a = a ** b (2)
|
---|
692 | a &= b Roughly equivalent to a = a & b (2)
|
---|
693 | a |= b Roughly equivalent to a = a | b (2)
|
---|
694 | a ^= b Roughly equivalent to a = a ^ b (2)
|
---|
695 | a >>= b Roughly equivalent to a = a >> b (2)
|
---|
696 | a <<= b Roughly equivalent to a = a << b (2)
|
---|
697 |
|
---|
698 | Notes :
|
---|
699 | (1) Can unpack tuples, lists, and strings.
|
---|
700 | first, second = a[0:2]; [f, s] = range(2); c1,c2,c3='abc'
|
---|
701 | Tip: x,y = y,x swaps x and y.
|
---|
702 | (2) Not exactly equivalent - a is evaluated only once. Also, where
|
---|
703 | possible, operation performed in-place - a is modified rather than
|
---|
704 | replaced.
|
---|
705 |
|
---|
706 | Control Flow
|
---|
707 |
|
---|
708 | if condition: suite
|
---|
709 | [elif condition: suite]*
|
---|
710 | [else: suite] -- usual if/else_if/else statement
|
---|
711 | while condition: suite
|
---|
712 | [else: suite]
|
---|
713 | -- usual while statement. "else" suite is executed
|
---|
714 | after loop exits, unless the loop is exited with
|
---|
715 | "break"
|
---|
716 | for element in sequence: suite
|
---|
717 | [else: suite]
|
---|
718 | -- iterates over sequence, assigning each element to element.
|
---|
719 | Use built-in range function to iterate a number of times.
|
---|
720 | "else" suite executed at end unless loop exited
|
---|
721 | with "break"
|
---|
722 | break -- immediately exits "for" or "while" loop
|
---|
723 | continue -- immediately does next iteration of "for" or "while" loop
|
---|
724 | return [result] -- Exits from function (or method) and returns result (use a tuple to
|
---|
725 | return more than one value). If no result given, then returns None.
|
---|
726 | yield result -- Freezes the execution frame of a generator and returns the result
|
---|
727 | to the iterator's .next() method. Upon the next call to next(),
|
---|
728 | resumes execution at the frozen point with all of the local variables
|
---|
729 | still intact.
|
---|
730 |
|
---|
731 | Exception Statements
|
---|
732 |
|
---|
733 | assert expr[, message]
|
---|
734 | -- expr is evaluated. if false, raises exception AssertionError
|
---|
735 | with message. Inhibited if __debug__ is 0.
|
---|
736 | try: suite1
|
---|
737 | [except [exception [, value]: suite2]+
|
---|
738 | [else: suite3]
|
---|
739 | -- statements in suite1 are executed. If an exception occurs, look
|
---|
740 | in "except" clauses for matching <exception>. If matches or bare
|
---|
741 | "except" execute suite of that clause. If no exception happens
|
---|
742 | suite in "else" clause is executed after suite1.
|
---|
743 | If exception has a value, it is put in value.
|
---|
744 | exception can also be tuple of exceptions, e.g.
|
---|
745 | "except (KeyError, NameError), val: print val"
|
---|
746 | try: suite1
|
---|
747 | finally: suite2
|
---|
748 | -- statements in suite1 are executed. If no
|
---|
749 | exception, execute suite2 (even if suite1 is
|
---|
750 | exited with a "return", "break" or "continue"
|
---|
751 | statement). If exception did occur, executes
|
---|
752 | suite2 and then immediately reraises exception.
|
---|
753 | raise exception [,value [, traceback]]
|
---|
754 | -- raises exception with optional value
|
---|
755 | value. Arg traceback specifies a traceback object to
|
---|
756 | use when printing the exception's backtrace.
|
---|
757 | raise -- a raise statement without arguments re-raises
|
---|
758 | the last exception raised in the current function
|
---|
759 | An exception is either a string (object) or a class instance.
|
---|
760 | Can create a new one simply by creating a new string:
|
---|
761 |
|
---|
762 | my_exception = 'You did something wrong'
|
---|
763 | try:
|
---|
764 | if bad:
|
---|
765 | raise my_exception, bad
|
---|
766 | except my_exception, value:
|
---|
767 | print 'Oops', value
|
---|
768 |
|
---|
769 | Exception classes must be derived from the predefined class: Exception, e.g.:
|
---|
770 | class text_exception(Exception): pass
|
---|
771 | try:
|
---|
772 | if bad:
|
---|
773 | raise text_exception()
|
---|
774 | # This is a shorthand for the form
|
---|
775 | # "raise <class>, <instance>"
|
---|
776 | except Exception:
|
---|
777 | print 'Oops'
|
---|
778 | # This will be printed because
|
---|
779 | # text_exception is a subclass of Exception
|
---|
780 | When an error message is printed for an unhandled exception which is a
|
---|
781 | class, the class name is printed, then a colon and a space, and
|
---|
782 | finally the instance converted to a string using the built-in function
|
---|
783 | str().
|
---|
784 | All built-in exception classes derives from StandardError, itself
|
---|
785 | derived from Exception.
|
---|
786 |
|
---|
787 | Name Space Statements
|
---|
788 |
|
---|
789 | [1.51: On Mac & Windows, the case of module file names must now match the case
|
---|
790 | as used
|
---|
791 | in the import statement]
|
---|
792 | Packages (>1.5): a package is a name space which maps to a directory including
|
---|
793 | module(s) and the special initialization module '__init__.py'
|
---|
794 | (possibly empty). Packages/dirs can be nested. You address a
|
---|
795 | module's symbol via '[package.[package...]module.symbol's.
|
---|
796 | import module1 [as name1] [, module2]*
|
---|
797 | -- imports modules. Members of module must be
|
---|
798 | referred to by qualifying with [package.]module name:
|
---|
799 | "import sys; print sys.argv:"
|
---|
800 | "import package1.subpackage.module; package1.subpackage.module.foo()"
|
---|
801 | module1 renamed as name1, if supplied.
|
---|
802 | from module import name1 [as othername1] [, name2]*
|
---|
803 | -- imports names from module module in current namespace.
|
---|
804 | "from sys import argv; print argv"
|
---|
805 | "from package1 import module; module.foo()"
|
---|
806 | "from package1.module import foo; foo()"
|
---|
807 | name1 renamed as othername1, if supplied.
|
---|
808 | from module import *
|
---|
809 | -- imports all names in module, except those starting with "_";
|
---|
810 | *to be used sparsely, beware of name clashes* :
|
---|
811 | "from sys import *; print argv"
|
---|
812 | "from package.module import *; print x'
|
---|
813 | NB: "from package import *" only imports the symbols defined
|
---|
814 | in the package's __init__.py file, not those in the
|
---|
815 | template modules!
|
---|
816 | global name1 [, name2]*
|
---|
817 | -- names are from global scope (usually meaning from module)
|
---|
818 | rather than local (usually meaning only in function).
|
---|
819 | -- E.g. in fct without "global" statements, assuming
|
---|
820 | "a" is name that hasn't been used in fct or module
|
---|
821 | so far:
|
---|
822 | -Try to read from "a" -> NameError
|
---|
823 | -Try to write to "a" -> creates "a" local to fcn
|
---|
824 | -If "a" not defined in fct, but is in module, then
|
---|
825 | -Try to read from "a", gets value from module
|
---|
826 | -Try to write to "a", creates "a" local to fct
|
---|
827 | But note "a[0]=3" starts with search for "a",
|
---|
828 | will use to global "a" if no local "a".
|
---|
829 |
|
---|
830 | Function Definition
|
---|
831 |
|
---|
832 | def func_id ([param_list]): suite
|
---|
833 | -- Creates a function object & binds it to name func_id.
|
---|
834 |
|
---|
835 | param_list ::= [id [, id]*]
|
---|
836 | id ::= value | id = value | *id | **id
|
---|
837 | [Args are passed by value.Thus only args representing a mutable object
|
---|
838 | can be modified (are inout parameters). Use a tuple to return more than
|
---|
839 | one value]
|
---|
840 |
|
---|
841 | Example:
|
---|
842 | def test (p1, p2 = 1+1, *rest, **keywords):
|
---|
843 | -- Parameters with "=" have default value (v is
|
---|
844 | evaluated when function defined).
|
---|
845 | If list has "*id" then id is assigned a tuple of
|
---|
846 | all remaining args passed to function (like C vararg)
|
---|
847 | If list has "**id" then id is assigned a dictionary of
|
---|
848 | all extra arguments passed as keywords.
|
---|
849 |
|
---|
850 | Class Definition
|
---|
851 |
|
---|
852 | class <class_id> [(<super_class1> [,<super_class2>]*)]: <suite>
|
---|
853 | -- Creates a class object and assigns it name <class_id>
|
---|
854 | <suite> may contain local "defs" of class methods and
|
---|
855 | assignments to class attributes.
|
---|
856 | Example:
|
---|
857 | class my_class (class1, class_list[3]): ...
|
---|
858 | Creates a class object inheriting from both "class1" and whatever
|
---|
859 | class object "class_list[3]" evaluates to. Assigns new
|
---|
860 | class object to name "my_class".
|
---|
861 | - First arg to class methods is always instance object, called 'self'
|
---|
862 | by convention.
|
---|
863 | - Special method __init__() is called when instance is created.
|
---|
864 | - Special method __del__() called when no more reference to object.
|
---|
865 | - Create instance by "calling" class object, possibly with arg
|
---|
866 | (thus instance=apply(aClassObject, args...) creates an instance!)
|
---|
867 | - In current implementation, can't subclass off built-in
|
---|
868 | classes. But can "wrap" them, see UserDict & UserList modules,
|
---|
869 | and see __getattr__() below.
|
---|
870 | Example:
|
---|
871 | class c (c_parent):
|
---|
872 | def __init__(self, name): self.name = name
|
---|
873 | def print_name(self): print "I'm", self.name
|
---|
874 | def call_parent(self): c_parent.print_name(self)
|
---|
875 | instance = c('tom')
|
---|
876 | print instance.name
|
---|
877 | 'tom'
|
---|
878 | instance.print_name()
|
---|
879 | "I'm tom"
|
---|
880 | Call parent's super class by accessing parent's method
|
---|
881 | directly and passing "self" explicitly (see "call_parent"
|
---|
882 | in example above).
|
---|
883 | Many other special methods available for implementing
|
---|
884 | arithmetic operators, sequence, mapping indexing, etc.
|
---|
885 |
|
---|
886 | Documentation Strings
|
---|
887 |
|
---|
888 | Modules, classes and functions may be documented by placing a string literal by
|
---|
889 | itself as the first statement in the suite. The documentation can be retrieved
|
---|
890 | by getting the '__doc__' attribute from the module, class or function.
|
---|
891 | Example:
|
---|
892 | class C:
|
---|
893 | "A description of C"
|
---|
894 | def __init__(self):
|
---|
895 | "A description of the constructor"
|
---|
896 | # etc.
|
---|
897 | Then c.__doc__ == "A description of C".
|
---|
898 | Then c.__init__.__doc__ == "A description of the constructor".
|
---|
899 |
|
---|
900 | Others
|
---|
901 |
|
---|
902 | lambda [param_list]: returnedExpr
|
---|
903 | -- Creates an anonymous function. returnedExpr must be
|
---|
904 | an expression, not a statement (e.g., not "if xx:...",
|
---|
905 | "print xxx", etc.) and thus can't contain newlines.
|
---|
906 | Used mostly for filter(), map(), reduce() functions, and GUI callbacks..
|
---|
907 | List comprehensions
|
---|
908 | result = [expression for item1 in sequence1 [if condition1]
|
---|
909 | [for item2 in sequence2 ... for itemN in sequenceN]
|
---|
910 | ]
|
---|
911 | is equivalent to:
|
---|
912 | result = []
|
---|
913 | for item1 in sequence1:
|
---|
914 | for item2 in sequence2:
|
---|
915 | ...
|
---|
916 | for itemN in sequenceN:
|
---|
917 | if (condition1) and furthur conditions:
|
---|
918 | result.append(expression)
|
---|
919 |
|
---|
920 |
|
---|
921 |
|
---|
922 | Built-In Functions
|
---|
923 |
|
---|
924 | Built-In Functions
|
---|
925 | Function Result
|
---|
926 | __import__(name[, Imports module within the given context (see lib ref for
|
---|
927 | globals[, locals[, more details)
|
---|
928 | fromlist]]])
|
---|
929 | abs(x) Return the absolute value of number x.
|
---|
930 | apply(f, args[, Calls func/method f with arguments args and optional
|
---|
931 | keywords]) keywords.
|
---|
932 | bool(x) Returns True when the argument x is true and False otherwise.
|
---|
933 | buffer(obj) Creates a buffer reference to an object.
|
---|
934 | callable(x) Returns True if x callable, else False.
|
---|
935 | chr(i) Returns one-character string whose ASCII code isinteger i
|
---|
936 | classmethod(f) Converts a function f, into a method with the class as the
|
---|
937 | first argument. Useful for creating alternative constructors.
|
---|
938 | cmp(x,y) Returns negative, 0, positive if x <, ==, > to y
|
---|
939 | coerce(x,y) Returns a tuple of the two numeric arguments converted to a
|
---|
940 | common type.
|
---|
941 | Compiles string into a code object.filename is used in
|
---|
942 | error message, can be any string. It isusually the file
|
---|
943 | compile(string, from which the code was read, or eg. '<string>'if not read
|
---|
944 | filename, kind) from file.kind can be 'eval' if string is a single stmt, or
|
---|
945 | 'single' which prints the output of expression statements
|
---|
946 | thatevaluate to something else than None, or be 'exec'.
|
---|
947 | complex(real[, Builds a complex object (can also be done using J or j
|
---|
948 | image]) suffix,e.g. 1+3J)
|
---|
949 | delattr(obj, name) deletes attribute named name of object obj <=> del obj.name
|
---|
950 | If no args, returns the list of names in current
|
---|
951 | dict([items]) Create a new dictionary from the specified item list.
|
---|
952 | dir([object]) localsymbol table. With a module, class or class
|
---|
953 | instanceobject as arg, returns list of names in its attr.
|
---|
954 | dict.
|
---|
955 | divmod(a,b) Returns tuple of (a/b, a%b)
|
---|
956 | enumerate(seq) Return a iterator giving: (0, seq[0]), (1, seq[1]), ...
|
---|
957 | eval(s[, globals[, Eval string s in (optional) globals, locals contexts.s must
|
---|
958 | locals]]) have no NUL's or newlines. s can also be acode object.
|
---|
959 | Example: x = 1; incr_x = eval('x + 1')
|
---|
960 | execfile(file[, Executes a file without creating a new module, unlike
|
---|
961 | globals[, locals]]) import.
|
---|
962 | file() Synonym for open().
|
---|
963 | filter(function, Constructs a list from those elements of sequence for which
|
---|
964 | sequence) function returns true. function takes one parameter.
|
---|
965 | float(x) Converts a number or a string to floating point.
|
---|
966 | getattr(object, [<default> arg added in 1.5.2]Gets attribute called name
|
---|
967 | name[, default])) from object,e.g. getattr(x, 'f') <=> x.f). If not found,
|
---|
968 | raisesAttributeError or returns default if specified.
|
---|
969 | globals() Returns a dictionary containing current global variables.
|
---|
970 | hasattr(object, Returns true if object has attr called name.
|
---|
971 | name)
|
---|
972 | hash(object) Returns the hash value of the object (if it has one)
|
---|
973 | help(f) Display documentation on object f.
|
---|
974 | hex(x) Converts a number x to a hexadecimal string.
|
---|
975 | id(object) Returns a unique 'identity' integer for an object.
|
---|
976 | input([prompt]) Prints prompt if given. Reads input and evaluates it.
|
---|
977 | Converts a number or a string to a plain integer. Optional
|
---|
978 | int(x[, base]) base paramenter specifies base from which to convert string
|
---|
979 | values.
|
---|
980 | intern(aString) Enters aString in the table of "interned strings"
|
---|
981 | andreturns the string. Interned strings are 'immortals'.
|
---|
982 | isinstance(obj, returns true if obj is an instance of class. Ifissubclass
|
---|
983 | class) (A,B) then isinstance(x,A) => isinstance(x,B)
|
---|
984 | issubclass(class1, returns true if class1 is derived from class2
|
---|
985 | class2)
|
---|
986 | Returns the length (the number of items) of an object
|
---|
987 | iter(collection) Returns an iterator over the collection.
|
---|
988 | len(obj) (sequence, dictionary, or instance of class implementing
|
---|
989 | __len__).
|
---|
990 | list(sequence) Converts sequence into a list. If already a list,returns a
|
---|
991 | copy of it.
|
---|
992 | locals() Returns a dictionary containing current local variables.
|
---|
993 | Converts a number or a string to a long integer. Optional
|
---|
994 | long(x[, base]) base paramenter specifies base from which to convert string
|
---|
995 | values.
|
---|
996 | Applies function to every item of list and returns a listof
|
---|
997 | map(function, list, the results. If additional arguments are passed,function
|
---|
998 | ...) must take that many arguments and it is givento function on
|
---|
999 | each call.
|
---|
1000 | max(seq) Returns the largest item of the non-empty sequence seq.
|
---|
1001 | min(seq) Returns the smallest item of a non-empty sequence seq.
|
---|
1002 | oct(x) Converts a number to an octal string.
|
---|
1003 | open(filename [, Returns a new file object. First two args are same asthose
|
---|
1004 | mode='r', [bufsize= for C's "stdio open" function. bufsize is 0for unbuffered,
|
---|
1005 | implementation 1 for line-buffered, negative forsys-default, all else, of
|
---|
1006 | dependent]]) (about) given size.
|
---|
1007 | ord(c) Returns integer ASCII value of c (a string of len 1). Works
|
---|
1008 | with Unicode char.
|
---|
1009 | object() Create a base type. Used as a superclass for new-style objects.
|
---|
1010 | open(name Open a file.
|
---|
1011 | [, mode
|
---|
1012 | [, buffering]])
|
---|
1013 | pow(x, y [, z]) Returns x to power y [modulo z]. See also ** operator.
|
---|
1014 | property() Created a property with access controlled by functions.
|
---|
1015 | range(start [,end Returns list of ints from >= start and < end.With 1 arg,
|
---|
1016 | [, step]]) list from 0..arg-1With 2 args, list from start..end-1With 3
|
---|
1017 | args, list from start up to end by step
|
---|
1018 | raw_input([prompt]) Prints prompt if given, then reads string from stdinput (no
|
---|
1019 | trailing \n). See also input().
|
---|
1020 | reduce(f, list [, Applies the binary function f to the items oflist so as to
|
---|
1021 | init]) reduce the list to a single value.If init given, it is
|
---|
1022 | "prepended" to list.
|
---|
1023 | Re-parses and re-initializes an already imported module.
|
---|
1024 | Useful in interactive mode, if you want to reload amodule
|
---|
1025 | reload(module) after fixing it. If module was syntacticallycorrect but had
|
---|
1026 | an error in initialization, mustimport it one more time
|
---|
1027 | before calling reload().
|
---|
1028 | Returns a string containing a printable and if possible
|
---|
1029 | repr(object) evaluable representation of an object. <=> `object`
|
---|
1030 | (usingbackquotes). Class redefinissable (__repr__). See
|
---|
1031 | also str()
|
---|
1032 | round(x, n=0) Returns the floating point value x rounded to n digitsafter
|
---|
1033 | the decimal point.
|
---|
1034 | setattr(object, This is the counterpart of getattr().setattr(o, 'foobar',
|
---|
1035 | name, value) 3) <=> o.foobar = 3Creates attribute if it doesn't exist!
|
---|
1036 | slice([start,] stop Returns a slice object representing a range, with R/
|
---|
1037 | [, step]) Oattributes: start, stop, step.
|
---|
1038 | Returns a string containing a nicely
|
---|
1039 | staticmethod() Convert a function to method with no self or class
|
---|
1040 | argument. Useful for methods associated with a class that
|
---|
1041 | do not need access to an object's internal state.
|
---|
1042 | str(object) printablerepresentation of an object. Class overridable
|
---|
1043 | (__str__).See also repr().
|
---|
1044 | super(type) Create an unbound super object. Used to call cooperative
|
---|
1045 | superclass methods.
|
---|
1046 | sum(sequence, Add the values in the sequence and return the sum.
|
---|
1047 | [start])
|
---|
1048 | tuple(sequence) Creates a tuple with same elements as sequence. If already
|
---|
1049 | a tuple, return itself (not a copy).
|
---|
1050 | Returns a type object [see module types] representing
|
---|
1051 | thetype of obj. Example: import typesif type(x) ==
|
---|
1052 | type(obj) types.StringType: print 'It is a string'NB: it is
|
---|
1053 | recommanded to use the following form:if isinstance(x,
|
---|
1054 | types.StringType): etc...
|
---|
1055 | unichr(code) code.
|
---|
1056 | unicode(string[, Creates a Unicode string from a 8-bit string, using
|
---|
1057 | encoding[, error thegiven encoding name and error treatment ('strict',
|
---|
1058 | ]]]) 'ignore',or 'replace'}.
|
---|
1059 | Without arguments, returns a dictionary correspondingto the
|
---|
1060 | current local symbol table. With a module,class or class
|
---|
1061 | vars([object]) instance object as argumentreturns a dictionary
|
---|
1062 | corresponding to the object'ssymbol table. Useful with "%"
|
---|
1063 | formatting operator.
|
---|
1064 | xrange(start [, end Like range(), but doesn't actually store entire listall at
|
---|
1065 | [, step]]) once. Good to use in "for" loops when there is abig range
|
---|
1066 | and little memory.
|
---|
1067 | zip(seq1[, seq2, Returns a list of tuples where each tuple contains the nth
|
---|
1068 | ...]) element of each of the argument sequences.
|
---|
1069 |
|
---|
1070 |
|
---|
1071 |
|
---|
1072 |
|
---|
1073 | Built-In Exceptions
|
---|
1074 |
|
---|
1075 | Exception>
|
---|
1076 | Root class for all exceptions
|
---|
1077 | SystemExit
|
---|
1078 | On 'sys.exit()'
|
---|
1079 | StopIteration
|
---|
1080 | Signal the end from iterator.next()
|
---|
1081 | StandardError
|
---|
1082 | Base class for all built-in exceptions; derived from Exception
|
---|
1083 | root class.
|
---|
1084 | ArithmeticError
|
---|
1085 | Base class for OverflowError, ZeroDivisionError,
|
---|
1086 | FloatingPointError
|
---|
1087 | FloatingPointError
|
---|
1088 | When a floating point operation fails.
|
---|
1089 | OverflowError
|
---|
1090 | On excessively large arithmetic operation
|
---|
1091 | ZeroDivisionError
|
---|
1092 | On division or modulo operation with 0 as 2nd arg
|
---|
1093 | AssertionError
|
---|
1094 | When an assert statement fails.
|
---|
1095 | AttributeError
|
---|
1096 | On attribute reference or assignment failure
|
---|
1097 | EnvironmentError [new in 1.5.2]
|
---|
1098 | On error outside Python; error arg tuple is (errno, errMsg...)
|
---|
1099 | IOError [changed in 1.5.2]
|
---|
1100 | I/O-related operation failure
|
---|
1101 | OSError [new in 1.5.2]
|
---|
1102 | used by the os module's os.error exception.
|
---|
1103 | EOFError
|
---|
1104 | Immediate end-of-file hit by input() or raw_input()
|
---|
1105 | ImportError
|
---|
1106 | On failure of `import' to find module or name
|
---|
1107 | KeyboardInterrupt
|
---|
1108 | On user entry of the interrupt key (often `Control-C')
|
---|
1109 | LookupError
|
---|
1110 | base class for IndexError, KeyError
|
---|
1111 | IndexError
|
---|
1112 | On out-of-range sequence subscript
|
---|
1113 | KeyError
|
---|
1114 | On reference to a non-existent mapping (dict) key
|
---|
1115 | MemoryError
|
---|
1116 | On recoverable memory exhaustion
|
---|
1117 | NameError
|
---|
1118 | On failure to find a local or global (unqualified) name
|
---|
1119 | RuntimeError
|
---|
1120 | Obsolete catch-all; define a suitable error instead
|
---|
1121 | NotImplementedError [new in 1.5.2]
|
---|
1122 | On method not implemented
|
---|
1123 | SyntaxError
|
---|
1124 | On parser encountering a syntax error
|
---|
1125 | IndentationError
|
---|
1126 | On parser encountering an indentation syntax error
|
---|
1127 | TabError
|
---|
1128 | On parser encountering an indentation syntax error
|
---|
1129 | SystemError
|
---|
1130 | On non-fatal interpreter error - bug - report it
|
---|
1131 | TypeError
|
---|
1132 | On passing inappropriate type to built-in op or func
|
---|
1133 | ValueError
|
---|
1134 | On arg error not covered by TypeError or more precise
|
---|
1135 | Warning
|
---|
1136 | UserWarning
|
---|
1137 | DeprecationWarning
|
---|
1138 | PendingDeprecationWarning
|
---|
1139 | SyntaxWarning
|
---|
1140 | RuntimeWarning
|
---|
1141 | FutureWarning
|
---|
1142 |
|
---|
1143 |
|
---|
1144 |
|
---|
1145 | Standard methods & operators redefinition in classes
|
---|
1146 |
|
---|
1147 | Standard methods & operators map to special '__methods__' and thus may be
|
---|
1148 | redefined (mostly in user-defined classes), e.g.:
|
---|
1149 | class x:
|
---|
1150 | def __init__(self, v): self.value = v
|
---|
1151 | def __add__(self, r): return self.value + r
|
---|
1152 | a = x(3) # sort of like calling x.__init__(a, 3)
|
---|
1153 | a + 4 # is equivalent to a.__add__(4)
|
---|
1154 |
|
---|
1155 | Special methods for any class
|
---|
1156 |
|
---|
1157 | (s: self, o: other)
|
---|
1158 | __init__(s, args) instance initialization (on construction)
|
---|
1159 | __del__(s) called on object demise (refcount becomes 0)
|
---|
1160 | __repr__(s) repr() and `...` conversions
|
---|
1161 | __str__(s) str() and 'print' statement
|
---|
1162 | __cmp__(s, o) Compares s to o and returns <0, 0, or >0.
|
---|
1163 | Implements >, <, == etc...
|
---|
1164 | __hash__(s) Compute a 32 bit hash code; hash() and dictionary ops
|
---|
1165 | __nonzero__(s) Returns False or True for truth value testing
|
---|
1166 | __getattr__(s, name) called when attr lookup doesn't find <name>
|
---|
1167 | __setattr__(s, name, val) called when setting an attr
|
---|
1168 | (inside, don't use "self.name = value"
|
---|
1169 | use "self.__dict__[name] = val")
|
---|
1170 | __delattr__(s, name) called to delete attr <name>
|
---|
1171 | __call__(self, *args) called when an instance is called as function.
|
---|
1172 |
|
---|
1173 | Operators
|
---|
1174 |
|
---|
1175 | See list in the operator module. Operator function names are provided with
|
---|
1176 | 2 variants, with or without
|
---|
1177 | ading & trailing '__' (eg. __add__ or add).
|
---|
1178 |
|
---|
1179 | Numeric operations special methods
|
---|
1180 | (s: self, o: other)
|
---|
1181 |
|
---|
1182 | s+o = __add__(s,o) s-o = __sub__(s,o)
|
---|
1183 | s*o = __mul__(s,o) s/o = __div__(s,o)
|
---|
1184 | s%o = __mod__(s,o) divmod(s,o) = __divmod__(s,o)
|
---|
1185 | s**o = __pow__(s,o)
|
---|
1186 | s&o = __and__(s,o)
|
---|
1187 | s^o = __xor__(s,o) s|o = __or__(s,o)
|
---|
1188 | s<<o = __lshift__(s,o) s>>o = __rshift__(s,o)
|
---|
1189 | nonzero(s) = __nonzero__(s) (used in boolean testing)
|
---|
1190 | -s = __neg__(s) +s = __pos__(s)
|
---|
1191 | abs(s) = __abs__(s) ~s = __invert__(s) (bitwise)
|
---|
1192 | s+=o = __iadd__(s,o) s-=o = __isub__(s,o)
|
---|
1193 | s*=o = __imul__(s,o) s/=o = __idiv__(s,o)
|
---|
1194 | s%=o = __imod__(s,o)
|
---|
1195 | s**=o = __ipow__(s,o)
|
---|
1196 | s&=o = __iand__(s,o)
|
---|
1197 | s^=o = __ixor__(s,o) s|=o = __ior__(s,o)
|
---|
1198 | s<<=o = __ilshift__(s,o) s>>=o = __irshift__(s,o)
|
---|
1199 | Conversions
|
---|
1200 | int(s) = __int__(s) long(s) = __long__(s)
|
---|
1201 | float(s) = __float__(s) complex(s) = __complex__(s)
|
---|
1202 | oct(s) = __oct__(s) hex(s) = __hex__(s)
|
---|
1203 | coerce(s,o) = __coerce__(s,o)
|
---|
1204 | Right-hand-side equivalents for all binary operators exist;
|
---|
1205 | are called when class instance is on r-h-s of operator:
|
---|
1206 | a + 3 calls __add__(a, 3)
|
---|
1207 | 3 + a calls __radd__(a, 3)
|
---|
1208 |
|
---|
1209 | All seqs and maps, general operations plus:
|
---|
1210 | (s: self, i: index or key)
|
---|
1211 |
|
---|
1212 | len(s) = __len__(s) length of object, >= 0. Length 0 == false
|
---|
1213 | s[i] = __getitem__(s,i) Element at index/key i, origin 0
|
---|
1214 |
|
---|
1215 | Sequences, general methods, plus:
|
---|
1216 | s[i]=v = __setitem__(s,i,v)
|
---|
1217 | del s[i] = __delitem__(s,i)
|
---|
1218 | s[i:j] = __getslice__(s,i,j)
|
---|
1219 | s[i:j]=seq = __setslice__(s,i,j,seq)
|
---|
1220 | del s[i:j] = __delslice__(s,i,j) == s[i:j] = []
|
---|
1221 | seq * n = __repeat__(seq, n)
|
---|
1222 | s1 + s2 = __concat__(s1, s2)
|
---|
1223 | i in s = __contains__(s, i)
|
---|
1224 | Mappings, general methods, plus
|
---|
1225 | hash(s) = __hash__(s) - hash value for dictionary references
|
---|
1226 | s[k]=v = __setitem__(s,k,v)
|
---|
1227 | del s[k] = __delitem__(s,k)
|
---|
1228 |
|
---|
1229 | Special informative state attributes for some types:
|
---|
1230 |
|
---|
1231 | Modules:
|
---|
1232 | __doc__ (string/None, R/O): doc string (<=> __dict__['__doc__'])
|
---|
1233 | __name__(string, R/O): module name (also in __dict__['__name__'])
|
---|
1234 | __dict__ (dict, R/O): module's name space
|
---|
1235 | __file__(string/undefined, R/O): pathname of .pyc, .pyo or .pyd (undef for
|
---|
1236 | modules statically linked to the interpreter)
|
---|
1237 |
|
---|
1238 | Classes: [in bold: writable since 1.5.2]
|
---|
1239 | __doc__ (string/None, R/W): doc string (<=> __dict__['__doc__'])
|
---|
1240 | __module__ is the module name in which the class was defined
|
---|
1241 | __name__(string, R/W): class name (also in __dict__['__name__'])
|
---|
1242 | __bases__ (tuple, R/W): parent classes
|
---|
1243 | __dict__ (dict, R/W): attributes (class name space)
|
---|
1244 |
|
---|
1245 | Instances:
|
---|
1246 | __class__ (class, R/W): instance's class
|
---|
1247 | __dict__ (dict, R/W): attributes
|
---|
1248 |
|
---|
1249 | User-defined functions: [bold: writable since 1.5.2]
|
---|
1250 | __doc__ (string/None, R/W): doc string
|
---|
1251 | __name__(string, R/O): function name
|
---|
1252 | func_doc (R/W): same as __doc__
|
---|
1253 | func_name (R/O): same as __name__
|
---|
1254 | func_defaults (tuple/None, R/W): default args values if any
|
---|
1255 | func_code (code, R/W): code object representing the compiled function body
|
---|
1256 | func_globals (dict, R/O): ref to dictionary of func global variables
|
---|
1257 | func_dict (dict, R/W): same as __dict__ contains the namespace supporting
|
---|
1258 | arbitrary function attributes
|
---|
1259 | func_closure (R/O): None or a tuple of cells that contain bindings
|
---|
1260 | for the function's free variables.
|
---|
1261 |
|
---|
1262 |
|
---|
1263 | User-defined Methods:
|
---|
1264 | __doc__ (string/None, R/O): doc string
|
---|
1265 | __name__(string, R/O): method name (same as im_func.__name__)
|
---|
1266 | im_class (class, R/O): class defining the method (may be a base class)
|
---|
1267 | im_self (instance/None, R/O): target instance object (None if unbound)
|
---|
1268 | im_func (function, R/O): function object
|
---|
1269 |
|
---|
1270 | Built-in Functions & methods:
|
---|
1271 | __doc__ (string/None, R/O): doc string
|
---|
1272 | __name__ (string, R/O): function name
|
---|
1273 | __self__ : [methods only] target object
|
---|
1274 |
|
---|
1275 | Codes:
|
---|
1276 | co_name (string, R/O): function name
|
---|
1277 | co_argcount (int, R/0): number of positional args
|
---|
1278 | co_nlocals (int, R/O): number of local vars (including args)
|
---|
1279 | co_varnames (tuple, R/O): names of local vars (starting with args)
|
---|
1280 | co_cellvars (tuple, R/O)) the names of local variables referenced by
|
---|
1281 | nested functions
|
---|
1282 | co_freevars (tuple, R/O)) names of free variables
|
---|
1283 | co_code (string, R/O): sequence of bytecode instructions
|
---|
1284 | co_consts (tuple, R/O): litterals used by the bytecode, 1st one is
|
---|
1285 | fct doc (or None)
|
---|
1286 | co_names (tuple, R/O): names used by the bytecode
|
---|
1287 | co_filename (string, R/O): filename from which the code was compiled
|
---|
1288 | co_firstlineno (int, R/O): first line number of the function
|
---|
1289 | co_lnotab (string, R/O): string encoding bytecode offsets to line numbers.
|
---|
1290 | co_stacksize (int, R/O): required stack size (including local vars)
|
---|
1291 | co_flags (int, R/O): flags for the interpreter
|
---|
1292 | bit 2 set if fct uses "*arg" syntax
|
---|
1293 | bit 3 set if fct uses '**keywords' syntax
|
---|
1294 | Frames:
|
---|
1295 | f_back (frame/None, R/O): previous stack frame (toward the caller)
|
---|
1296 | f_code (code, R/O): code object being executed in this frame
|
---|
1297 | f_locals (dict, R/O): local vars
|
---|
1298 | f_globals (dict, R/O): global vars
|
---|
1299 | f_builtins (dict, R/O): built-in (intrinsic) names
|
---|
1300 | f_restricted (int, R/O): flag indicating whether fct is executed in
|
---|
1301 | restricted mode
|
---|
1302 | f_lineno (int, R/O): current line number
|
---|
1303 | f_lasti (int, R/O): precise instruction (index into bytecode)
|
---|
1304 | f_trace (function/None, R/W): debug hook called at start of each source line
|
---|
1305 | f_exc_type (Type/None, R/W): Most recent exception type
|
---|
1306 | f_exc_value (any, R/W): Most recent exception value
|
---|
1307 | f_exc_traceback (traceback/None, R/W): Most recent exception traceback
|
---|
1308 | Tracebacks:
|
---|
1309 | tb_next (frame/None, R/O): next level in stack trace (toward the frame where
|
---|
1310 | the exception occurred)
|
---|
1311 | tb_frame (frame, R/O): execution frame of the current level
|
---|
1312 | tb_lineno (int, R/O): line number where the exception occurred
|
---|
1313 | tb_lasti (int, R/O): precise instruction (index into bytecode)
|
---|
1314 |
|
---|
1315 | Slices:
|
---|
1316 | start (any/None, R/O): lowerbound
|
---|
1317 | stop (any/None, R/O): upperbound
|
---|
1318 | step (any/None, R/O): step value
|
---|
1319 |
|
---|
1320 | Complex numbers:
|
---|
1321 | real (float, R/O): real part
|
---|
1322 | imag (float, R/O): imaginary part
|
---|
1323 |
|
---|
1324 |
|
---|
1325 | Important Modules
|
---|
1326 |
|
---|
1327 | sys
|
---|
1328 |
|
---|
1329 | Some sys variables
|
---|
1330 | Variable Content
|
---|
1331 | argv The list of command line arguments passed to aPython
|
---|
1332 | script. sys.argv[0] is the script name.
|
---|
1333 | builtin_module_names A list of strings giving the names of all moduleswritten
|
---|
1334 | in C that are linked into this interpreter.
|
---|
1335 | check_interval How often to check for thread switches or signals(measured
|
---|
1336 | in number of virtual machine instructions)
|
---|
1337 | exc_type, exc_value, Deprecated since release 1.5. Use exc_info() instead.
|
---|
1338 | exc_traceback
|
---|
1339 | exitfunc User can set to a parameterless fcn. It will getcalled
|
---|
1340 | before interpreter exits.
|
---|
1341 | last_type, Set only when an exception not handled andinterpreter
|
---|
1342 | last_value, prints an error. Used by debuggers.
|
---|
1343 | last_traceback
|
---|
1344 | maxint maximum positive value for integers
|
---|
1345 | modules Dictionary of modules that have already been loaded.
|
---|
1346 | path Search path for external modules. Can be modifiedby
|
---|
1347 | program. sys.path[0] == dir of script executing
|
---|
1348 | platform The current platform, e.g. "sunos5", "win32"
|
---|
1349 | ps1, ps2 prompts to use in interactive mode.
|
---|
1350 | File objects used for I/O. One can redirect byassigning a
|
---|
1351 | stdin, stdout, new file object to them (or any object:.with a method
|
---|
1352 | stderr write(string) for stdout/stderr,.with a method readline()
|
---|
1353 | for stdin)
|
---|
1354 | version string containing version info about Python interpreter.
|
---|
1355 | (and also: copyright, dllhandle, exec_prefix, prefix)
|
---|
1356 | version_info tuple containing Python version info - (major, minor,
|
---|
1357 | micro, level, serial).
|
---|
1358 |
|
---|
1359 | Some sys functions
|
---|
1360 | Function Result
|
---|
1361 | exit(n) Exits with status n. Raises SystemExit exception.(Hence can
|
---|
1362 | be caught and ignored by program)
|
---|
1363 | getrefcount(object Returns the reference count of the object. Generally one
|
---|
1364 | ) higher than you might expect, because of object arg temp
|
---|
1365 | reference.
|
---|
1366 | setcheckinterval( Sets the interpreter's thread switching interval (in number
|
---|
1367 | interval) of virtual code instructions, default:100).
|
---|
1368 | settrace(func) Sets a trace function: called before each line ofcode is
|
---|
1369 | exited.
|
---|
1370 | setprofile(func) Sets a profile function for performance profiling.
|
---|
1371 | Info on exception currently being handled; this is atuple
|
---|
1372 | (exc_type, exc_value, exc_traceback).Warning: assigning the
|
---|
1373 | exc_info() traceback return value to a local variable in a
|
---|
1374 | function handling an exception will cause a circular
|
---|
1375 | reference.
|
---|
1376 | setdefaultencoding Change default Unicode encoding - defaults to 7-bit ASCII.
|
---|
1377 | (encoding)
|
---|
1378 | getrecursionlimit Retrieve maximum recursion depth.
|
---|
1379 | ()
|
---|
1380 | setrecursionlimit Set maximum recursion depth. (Defaults to 1000.)
|
---|
1381 | ()
|
---|
1382 |
|
---|
1383 |
|
---|
1384 |
|
---|
1385 | os
|
---|
1386 | "synonym" for whatever O/S-specific module is proper for current environment.
|
---|
1387 | this module uses posix whenever possible.
|
---|
1388 | (see also M.A. Lemburg's utility http://www.lemburg.com/files/python/
|
---|
1389 | platform.py)
|
---|
1390 |
|
---|
1391 | Some os variables
|
---|
1392 | Variable Meaning
|
---|
1393 | name name of O/S-specific module (e.g. "posix", "mac", "nt")
|
---|
1394 | path O/S-specific module for path manipulations.
|
---|
1395 | On Unix, os.path.split() <=> posixpath.split()
|
---|
1396 | curdir string used to represent current directory ('.')
|
---|
1397 | pardir string used to represent parent directory ('..')
|
---|
1398 | sep string used to separate directories ('/' or '\'). Tip: use
|
---|
1399 | os.path.join() to build portable paths.
|
---|
1400 | altsep Alternate sep
|
---|
1401 | if applicable (None
|
---|
1402 | otherwise)
|
---|
1403 | pathsep character used to separate search path components (as in
|
---|
1404 | $PATH), eg. ';' for windows.
|
---|
1405 | linesep line separator as used in binary files, ie '\n' on Unix, '\
|
---|
1406 | r\n' on Dos/Win, '\r'
|
---|
1407 |
|
---|
1408 | Some os functions
|
---|
1409 | Function Result
|
---|
1410 | makedirs(path[, Recursive directory creation (create required intermediary
|
---|
1411 | mode=0777]) dirs); os.error if fails.
|
---|
1412 | removedirs(path) Recursive directory delete (delete intermediary empty
|
---|
1413 | dirs); if fails.
|
---|
1414 | renames(old, new) Recursive directory or file renaming; os.error if fails.
|
---|
1415 |
|
---|
1416 |
|
---|
1417 |
|
---|
1418 | posix
|
---|
1419 | don't import this module directly, import os instead !
|
---|
1420 | (see also module: shutil for file copy & remove fcts)
|
---|
1421 |
|
---|
1422 | posix Variables
|
---|
1423 | Variable Meaning
|
---|
1424 | environ dictionary of environment variables, e.g.posix.environ['HOME'].
|
---|
1425 | error exception raised on POSIX-related error.
|
---|
1426 | Corresponding value is tuple of errno code and perror() string.
|
---|
1427 |
|
---|
1428 | Some posix functions
|
---|
1429 | Function Result
|
---|
1430 | chdir(path) Changes current directory to path.
|
---|
1431 | chmod(path, Changes the mode of path to the numeric mode
|
---|
1432 | mode)
|
---|
1433 | close(fd) Closes file descriptor fd opened with posix.open.
|
---|
1434 | _exit(n) Immediate exit, with no cleanups, no SystemExit,etc. Should use
|
---|
1435 | this to exit a child process.
|
---|
1436 | execv(p, args) "Become" executable p with args args
|
---|
1437 | getcwd() Returns a string representing the current working directory
|
---|
1438 | getpid() Returns the current process id
|
---|
1439 | fork() Like C's fork(). Returns 0 to child, child pid to parent.[Not
|
---|
1440 | on Windows]
|
---|
1441 | kill(pid, Like C's kill [Not on Windows]
|
---|
1442 | signal)
|
---|
1443 | listdir(path) Lists (base)names of entries in directory path, excluding '.'
|
---|
1444 | and '..'
|
---|
1445 | lseek(fd, pos, Sets current position in file fd to position pos, expressedas
|
---|
1446 | how) an offset relative to beginning of file (how=0), tocurrent
|
---|
1447 | position (how=1), or to end of file (how=2)
|
---|
1448 | mkdir(path[, Creates a directory named path with numeric mode (default 0777)
|
---|
1449 | mode])
|
---|
1450 | open(file, Like C's open(). Returns file descriptor. Use file object
|
---|
1451 | flags, mode) fctsrather than this low level ones.
|
---|
1452 | pipe() Creates a pipe. Returns pair of file descriptors (r, w) [Not on
|
---|
1453 | Windows].
|
---|
1454 | popen(command, Opens a pipe to or from command. Result is a file object to
|
---|
1455 | mode='r', read to orwrite from, as indicated by mode being 'r' or 'w'.
|
---|
1456 | bufSize=0) Use it to catch acommand output ('r' mode) or to feed it ('w'
|
---|
1457 | mode).
|
---|
1458 | remove(path) See unlink.
|
---|
1459 | rename(src, dst Renames/moves the file or directory src to dst. [error iftarget
|
---|
1460 | ) name already exists]
|
---|
1461 | rmdir(path) Removes the empty directory path
|
---|
1462 | read(fd, n) Reads n bytes from file descriptor fd and return as string.
|
---|
1463 | Returns st_mode, st_ino, st_dev, st_nlink, st_uid,st_gid,
|
---|
1464 | stat(path) st_size, st_atime, st_mtime, st_ctime.[st_ino, st_uid, st_gid
|
---|
1465 | are dummy on Windows]
|
---|
1466 | system(command) Executes string command in a subshell. Returns exitstatus of
|
---|
1467 | subshell (usually 0 means OK).
|
---|
1468 | Returns accumulated CPU times in sec (user, system, children's
|
---|
1469 | times() user,children's sys, elapsed real time). [3 last not on
|
---|
1470 | Windows]
|
---|
1471 | unlink(path) Unlinks ("deletes") the file (not dir!) path. same as: remove
|
---|
1472 | utime(path, ( Sets the access & modified time of the file to the given tuple
|
---|
1473 | aTime, mTime)) of values.
|
---|
1474 | wait() Waits for child process completion. Returns tuple ofpid,
|
---|
1475 | exit_status [Not on Windows]
|
---|
1476 | waitpid(pid, Waits for process pid to complete. Returns tuple ofpid,
|
---|
1477 | options) exit_status [Not on Windows]
|
---|
1478 | write(fd, str) Writes str to file fd. Returns nb of bytes written.
|
---|
1479 |
|
---|
1480 |
|
---|
1481 |
|
---|
1482 | posixpath
|
---|
1483 | Do not import this module directly, import os instead and refer to this module
|
---|
1484 | as os.path. (e.g. os.path.exists(p)) !
|
---|
1485 |
|
---|
1486 | Some posixpath functions
|
---|
1487 | Function Result
|
---|
1488 | abspath(p) Returns absolute path for path p, taking current working dir in
|
---|
1489 | account.
|
---|
1490 | dirname/
|
---|
1491 | basename(p directory and name parts of the path p. See also split.
|
---|
1492 | )
|
---|
1493 | exists(p) True if string p is an existing path (file or directory)
|
---|
1494 | expanduser Returns string that is (a copy of) p with "~" expansion done.
|
---|
1495 | (p)
|
---|
1496 | expandvars Returns string that is (a copy of) p with environment vars expanded.
|
---|
1497 | (p) [Windows: case significant; must use Unix: $var notation, not %var%]
|
---|
1498 | getsize( return the size in bytes of filename. raise os.error.
|
---|
1499 | filename)
|
---|
1500 | getmtime( return last modification time of filename (integer nb of seconds
|
---|
1501 | filename) since epoch).
|
---|
1502 | getatime( return last access time of filename (integer nb of seconds since
|
---|
1503 | filename) epoch).
|
---|
1504 | isabs(p) True if string p is an absolute path.
|
---|
1505 | isdir(p) True if string p is a directory.
|
---|
1506 | islink(p) True if string p is a symbolic link.
|
---|
1507 | ismount(p) True if string p is a mount point [true for all dirs on Windows].
|
---|
1508 | join(p[,q Joins one or more path components intelligently.
|
---|
1509 | [,...]])
|
---|
1510 | Splits p into (head, tail) where tail is lastpathname component and
|
---|
1511 | split(p) <head> is everything leadingup to that. <=> (dirname(p), basename
|
---|
1512 | (p))
|
---|
1513 | splitdrive Splits path p in a pair ('drive:', tail) [Windows]
|
---|
1514 | (p)
|
---|
1515 | splitext(p Splits into (root, ext) where last comp of root contains no periods
|
---|
1516 | ) and ext is empty or startswith a period.
|
---|
1517 | Calls the function visit with arguments(arg, dirname, names) for
|
---|
1518 | each directory recursively inthe directory tree rooted at p
|
---|
1519 | walk(p, (including p itself if it's a dir)The argument dirname specifies the
|
---|
1520 | visit, arg visited directory, the argumentnames lists the files in the
|
---|
1521 | ) directory. The visit function maymodify names to influence the set
|
---|
1522 | of directories visited belowdirname, e.g., to avoid visiting certain
|
---|
1523 | parts of the tree.
|
---|
1524 |
|
---|
1525 |
|
---|
1526 |
|
---|
1527 | shutil
|
---|
1528 | high-level file operations (copying, deleting).
|
---|
1529 |
|
---|
1530 | Main shutil functions
|
---|
1531 | Function Result
|
---|
1532 | copy(src, dst) Copies the contents of file src to file dst, retaining file
|
---|
1533 | permissions.
|
---|
1534 | copytree(src, dst Recursively copies an entire directory tree rooted at src
|
---|
1535 | [, symlinks]) into dst (which should not already exist). If symlinks is
|
---|
1536 | true, links insrc are kept as such in dst.
|
---|
1537 | rmtree(path[, Deletes an entire directory tree, ignoring errors if
|
---|
1538 | ignore_errors[, ignore_errors true,or calling onerror(func, path,
|
---|
1539 | onerror]]) sys.exc_info()) if supplied with
|
---|
1540 |
|
---|
1541 | (and also: copyfile, copymode, copystat, copy2)
|
---|
1542 |
|
---|
1543 | time
|
---|
1544 |
|
---|
1545 | Variables
|
---|
1546 | Variable Meaning
|
---|
1547 | altzone signed offset of local DST timezone in sec west of the 0th meridian.
|
---|
1548 | daylight nonzero if a DST timezone is specified
|
---|
1549 |
|
---|
1550 | Functions
|
---|
1551 | Function Result
|
---|
1552 | time() return a float representing UTC time in seconds since the epoch.
|
---|
1553 | gmtime(secs), return a tuple representing time : (year aaaa, month(1-12),day
|
---|
1554 | localtime( (1-31), hour(0-23), minute(0-59), second(0-59), weekday(0-6, 0 is
|
---|
1555 | secs) monday), Julian day(1-366), daylight flag(-1,0 or 1))
|
---|
1556 | asctime(
|
---|
1557 | timeTuple),
|
---|
1558 | strftime(
|
---|
1559 | format, return a formatted string representing time.
|
---|
1560 | timeTuple)
|
---|
1561 | mktime(tuple) inverse of localtime(). Return a float.
|
---|
1562 | strptime( parse a formatted string representing time, return tuple as in
|
---|
1563 | string[, gmtime().
|
---|
1564 | format])
|
---|
1565 | sleep(secs) Suspend execution for <secs> seconds. <secs> can be a float.
|
---|
1566 |
|
---|
1567 | and also: clock, ctime.
|
---|
1568 |
|
---|
1569 | string
|
---|
1570 |
|
---|
1571 | As of Python 2.0, much (though not all) of the functionality provided by the
|
---|
1572 | string module have been superseded by built-in string methods - see Operations
|
---|
1573 | on strings for details.
|
---|
1574 |
|
---|
1575 | Some string variables
|
---|
1576 | Variable Meaning
|
---|
1577 | digits The string '0123456789'
|
---|
1578 | hexdigits, octdigits legal hexadecimal & octal digits
|
---|
1579 | letters, uppercase, lowercase, Strings containing the appropriate
|
---|
1580 | whitespace characters
|
---|
1581 | index_error Exception raised by index() if substr not
|
---|
1582 | found.
|
---|
1583 |
|
---|
1584 | Some string functions
|
---|
1585 | Function Result
|
---|
1586 | expandtabs(s, returns a copy of string <s> with tabs expanded.
|
---|
1587 | tabSize)
|
---|
1588 | find/rfind(s, sub Return the lowest/highest index in <s> where the substring
|
---|
1589 | [, start=0[, end= <sub> is found such that <sub> is wholly contained ins
|
---|
1590 | 0]) [start:end]. Return -1 if <sub> not found.
|
---|
1591 | ljust/rjust/center Return a copy of string <s> left/right justified/centerd in
|
---|
1592 | (s, width) afield of given width, padded with spaces. <s> is
|
---|
1593 | nevertruncated.
|
---|
1594 | lower/upper(s) Return a string that is (a copy of) <s> in lowercase/
|
---|
1595 | uppercase
|
---|
1596 | split(s[, sep= Return a list containing the words of the string <s>,using
|
---|
1597 | whitespace[, the string <sep> as a separator.
|
---|
1598 | maxsplit=0]])
|
---|
1599 | join(words[, sep=' Concatenate a list or tuple of words with
|
---|
1600 | ']) interveningseparators; inverse of split.
|
---|
1601 | replace(s, old, Returns a copy of string <s> with all occurrences of
|
---|
1602 | new[, maxsplit=0] substring<old> replaced by <new>. Limits to <maxsplit>
|
---|
1603 | firstsubstitutions if specified.
|
---|
1604 | strip(s) Return a string that is (a copy of) <s> without leadingand
|
---|
1605 | trailing whitespace. see also lstrip, rstrip.
|
---|
1606 |
|
---|
1607 |
|
---|
1608 |
|
---|
1609 | re (sre)
|
---|
1610 |
|
---|
1611 | Handles Unicode strings. Implemented in new module sre, re now a mere front-end
|
---|
1612 | for compatibility.
|
---|
1613 | Patterns are specified as strings. Tip: Use raw strings (e.g. r'\w*') to
|
---|
1614 | litteralize backslashes.
|
---|
1615 |
|
---|
1616 |
|
---|
1617 | Regular expression syntax
|
---|
1618 | Form Description
|
---|
1619 | . matches any character (including newline if DOTALL flag specified)
|
---|
1620 | ^ matches start of the string (of every line in MULTILINE mode)
|
---|
1621 | $ matches end of the string (of every line in MULTILINE mode)
|
---|
1622 | * 0 or more of preceding regular expression (as many as possible)
|
---|
1623 | + 1 or more of preceding regular expression (as many as possible)
|
---|
1624 | ? 0 or 1 occurrence of preceding regular expression
|
---|
1625 | *?, +?, ?? Same as *, + and ? but matches as few characters as possible
|
---|
1626 | {m,n} matches from m to n repetitions of preceding RE
|
---|
1627 | {m,n}? idem, attempting to match as few repetitions as possible
|
---|
1628 | [ ] defines character set: e.g. '[a-zA-Z]' to match all letters(see also
|
---|
1629 | \w \S)
|
---|
1630 | [^ ] defines complemented character set: matches if char is NOT in set
|
---|
1631 | escapes special chars '*?+&$|()' and introduces special sequences
|
---|
1632 | \ (see below). Due to Python string rules, write as '\\' orr'\' in the
|
---|
1633 | pattern string.
|
---|
1634 | \\ matches a litteral '\'; due to Python string rules, write as '\\\\
|
---|
1635 | 'in pattern string, or better using raw string: r'\\'.
|
---|
1636 | | specifies alternative: 'foo|bar' matches 'foo' or 'bar'
|
---|
1637 | (...) matches any RE inside (), and delimits a group.
|
---|
1638 | (?:...) idem but doesn't delimit a group.
|
---|
1639 | matches if ... matches next, but doesn't consume any of the string
|
---|
1640 | (?=...) e.g. 'Isaac (?=Asimov)' matches 'Isaac' only if followed by
|
---|
1641 | 'Asimov'.
|
---|
1642 | (?!...) matches if ... doesn't match next. Negative of (?=...)
|
---|
1643 | (?P<name matches any RE inside (), and delimits a named group. (e.g. r'(?P
|
---|
1644 | >...) <id>[a-zA-Z_]\w*)' defines a group named id)
|
---|
1645 | (?P=name) matches whatever text was matched by the earlier group named name.
|
---|
1646 | (?#...) A comment; ignored.
|
---|
1647 | (?letter) letter is one of 'i','L', 'm', 's', 'x'. Set the corresponding flags
|
---|
1648 | (re.I, re.L, re.M, re.S, re.X) for the entire RE.
|
---|
1649 |
|
---|
1650 | Special sequences
|
---|
1651 | Sequence Description
|
---|
1652 | number matches content of the group of the same number; groups are numbered
|
---|
1653 | starting from 1
|
---|
1654 | \A matches only at the start of the string
|
---|
1655 | \b empty str at beg or end of word: '\bis\b' matches 'is', but not 'his'
|
---|
1656 | \B empty str NOT at beginning or end of word
|
---|
1657 | \d any decimal digit (<=> [0-9])
|
---|
1658 | \D any non-decimal digit char (<=> [^O-9])
|
---|
1659 | \s any whitespace char (<=> [ \t\n\r\f\v])
|
---|
1660 | \S any non-whitespace char (<=> [^ \t\n\r\f\v])
|
---|
1661 | \w any alphaNumeric char (depends on LOCALE flag)
|
---|
1662 | \W any non-alphaNumeric char (depends on LOCALE flag)
|
---|
1663 | \Z matches only at the end of the string
|
---|
1664 |
|
---|
1665 | Variables
|
---|
1666 | Variable Meaning
|
---|
1667 | error Exception when pattern string isn't a valid regexp.
|
---|
1668 |
|
---|
1669 | Functions
|
---|
1670 | Function Result
|
---|
1671 | Compile a RE pattern string into a regular expression object.
|
---|
1672 | Flags (combinable by |):
|
---|
1673 |
|
---|
1674 | I or IGNORECASE or (?i)
|
---|
1675 | case insensitive matching
|
---|
1676 | compile( L or LOCALE or (?L)
|
---|
1677 | pattern[, make \w, \W, \b, \B dependent on thecurrent locale
|
---|
1678 | flags=0]) M or MULTILINE or (?m)
|
---|
1679 | matches every new line and not onlystart/end of the whole
|
---|
1680 | string
|
---|
1681 | S or DOTALL or (?s)
|
---|
1682 | '.' matches ALL chars, including newline
|
---|
1683 | X or VERBOSE or (?x)
|
---|
1684 | Ignores whitespace outside character sets
|
---|
1685 | escape(string) return (a copy of) string with all non-alphanumerics
|
---|
1686 | backslashed.
|
---|
1687 | match(pattern, if 0 or more chars at beginning of <string> match the RE pattern
|
---|
1688 | string[, flags string,return a corresponding MatchObject instance, or None if
|
---|
1689 | ]) no match.
|
---|
1690 | search(pattern scan thru <string> for a location matching <pattern>, return
|
---|
1691 | , string[, acorresponding MatchObject instance, or None if no match.
|
---|
1692 | flags])
|
---|
1693 | split(pattern, split <string> by occurrences of <pattern>. If capturing () are
|
---|
1694 | string[, used inpattern, then occurrences of patterns or subpatterns are
|
---|
1695 | maxsplit=0]) also returned.
|
---|
1696 | findall( return a list of non-overlapping matches in <pattern>, either a
|
---|
1697 | pattern, list ofgroups or a list of tuples if the pattern has more than 1
|
---|
1698 | string) group.
|
---|
1699 | return string obtained by replacing the (<count> first) lefmost
|
---|
1700 | sub(pattern, non-overlapping occurrences of <pattern> (a string or a RE
|
---|
1701 | repl, string[, object) in <string>by <repl>; <repl> can be a string or a fct
|
---|
1702 | count=0]) called with a single MatchObj arg, which must return the
|
---|
1703 | replacement string.
|
---|
1704 | subn(pattern,
|
---|
1705 | repl, string[, same as sub(), but returns a tuple (newString, numberOfSubsMade)
|
---|
1706 | count=0])
|
---|
1707 |
|
---|
1708 | Regular Expression Objects
|
---|
1709 |
|
---|
1710 |
|
---|
1711 | (RE objects are returned by the compile fct)
|
---|
1712 |
|
---|
1713 | re object attributes
|
---|
1714 | Attribute Descrition
|
---|
1715 | flags flags arg used when RE obj was compiled, or 0 if none provided
|
---|
1716 | groupindex dictionary of {group name: group number} in pattern
|
---|
1717 | pattern pattern string from which RE obj was compiled
|
---|
1718 |
|
---|
1719 | re object methods
|
---|
1720 | Method Result
|
---|
1721 | If zero or more characters at the beginning of string match this
|
---|
1722 | regular expression, return a corresponding MatchObject instance.
|
---|
1723 | Return None if the string does not match the pattern; note that
|
---|
1724 | this is different from a zero-length match.
|
---|
1725 | The optional second parameter pos gives an index in the string
|
---|
1726 | match( where the search is to start; it defaults to 0. This is not
|
---|
1727 | string[, completely equivalent to slicing the string; the '' pattern
|
---|
1728 | pos][, character matches at the real beginning of the string and at
|
---|
1729 | endpos]) positions just after a newline, but not necessarily at the index
|
---|
1730 | where the search is to start.
|
---|
1731 | The optional parameter endpos limits how far the string will be
|
---|
1732 | searched; it will be as if the string is endpos characters long, so
|
---|
1733 | only the characters from pos to endpos will be searched for a
|
---|
1734 | match.
|
---|
1735 | Scan through string looking for a location where this regular
|
---|
1736 | search( expression produces a match, and return a corresponding MatchObject
|
---|
1737 | string[, instance. Return None if no position in the string matches the
|
---|
1738 | pos][, pattern; note that this is different from finding a zero-length
|
---|
1739 | endpos]) match at some point in the string.
|
---|
1740 | The optional pos and endpos parameters have the same meaning as for
|
---|
1741 | the match() method.
|
---|
1742 | split(
|
---|
1743 | string[, Identical to the split() function, using the compiled pattern.
|
---|
1744 | maxsplit=
|
---|
1745 | 0])
|
---|
1746 | findall( Identical to the findall() function, using the compiled pattern.
|
---|
1747 | string)
|
---|
1748 | sub(repl,
|
---|
1749 | string[, Identical to the sub() function, using the compiled pattern.
|
---|
1750 | count=0])
|
---|
1751 | subn(repl,
|
---|
1752 | string[, Identical to the subn() function, using the compiled pattern.
|
---|
1753 | count=0])
|
---|
1754 |
|
---|
1755 | Match Objects
|
---|
1756 |
|
---|
1757 |
|
---|
1758 | (Match objects are returned by the match & search functions)
|
---|
1759 |
|
---|
1760 | Match object attributes
|
---|
1761 | Attribute Description
|
---|
1762 | pos value of pos passed to search or match functions; index intostring at
|
---|
1763 | which RE engine started search.
|
---|
1764 | endpos value of endpos passed to search or match functions; index intostring
|
---|
1765 | beyond which RE engine won't go.
|
---|
1766 | re RE object whose match or search fct produced this MatchObj instance
|
---|
1767 | string string passed to match() or search()
|
---|
1768 |
|
---|
1769 | Match object functions
|
---|
1770 | Function Result
|
---|
1771 | returns one or more groups of the match. If one arg, result is a
|
---|
1772 | group([g1 string;if multiple args, result is a tuple with one item per arg. If
|
---|
1773 | , g2, gi is 0,return value is entire matching string; if 1 <= gi <= 99,
|
---|
1774 | ...]) returnstring matching group #gi (or None if no such group); gi may
|
---|
1775 | also bea group name.
|
---|
1776 | returns a tuple of all groups of the match; groups not
|
---|
1777 | groups() participatingto the match have a value of None. Returns a string
|
---|
1778 | instead of tupleif len(tuple)=1
|
---|
1779 | start(
|
---|
1780 | group), returns indices of start & end of substring matched by group (or
|
---|
1781 | end(group Noneif group exists but doesn't contribute to the match)
|
---|
1782 | )
|
---|
1783 | span( returns the 2-tuple (start(group), end(group)); can be (None, None)if
|
---|
1784 | group) group didn't contibute to the match.
|
---|
1785 |
|
---|
1786 |
|
---|
1787 |
|
---|
1788 | math
|
---|
1789 |
|
---|
1790 | Variables:
|
---|
1791 | pi
|
---|
1792 | e
|
---|
1793 | Functions (see ordinary C man pages for info):
|
---|
1794 | acos(x)
|
---|
1795 | asin(x)
|
---|
1796 | atan(x)
|
---|
1797 | atan2(x, y)
|
---|
1798 | ceil(x)
|
---|
1799 | cos(x)
|
---|
1800 | cosh(x)
|
---|
1801 | degrees(x)
|
---|
1802 | exp(x)
|
---|
1803 | fabs(x)
|
---|
1804 | floor(x)
|
---|
1805 | fmod(x, y)
|
---|
1806 | frexp(x) -- Unlike C: (float, int) = frexp(float)
|
---|
1807 | ldexp(x, y)
|
---|
1808 | log(x [,base])
|
---|
1809 | log10(x)
|
---|
1810 | modf(x) -- Unlike C: (float, float) = modf(float)
|
---|
1811 | pow(x, y)
|
---|
1812 | radians(x)
|
---|
1813 | sin(x)
|
---|
1814 | sinh(x)
|
---|
1815 | sqrt(x)
|
---|
1816 | tan(x)
|
---|
1817 | tanh(x)
|
---|
1818 |
|
---|
1819 | getopt
|
---|
1820 |
|
---|
1821 | Functions:
|
---|
1822 | getopt(list, optstr) -- Similar to C. <optstr> is option
|
---|
1823 | letters to look for. Put ':' after letter
|
---|
1824 | if option takes arg. E.g.
|
---|
1825 | # invocation was "python test.py -c hi -a arg1 arg2"
|
---|
1826 | opts, args = getopt.getopt(sys.argv[1:], 'ab:c:')
|
---|
1827 | # opts would be
|
---|
1828 | [('-c', 'hi'), ('-a', '')]
|
---|
1829 | # args would be
|
---|
1830 | ['arg1', 'arg2']
|
---|
1831 |
|
---|
1832 |
|
---|
1833 | List of modules and packages in base distribution
|
---|
1834 |
|
---|
1835 | (built-ins and content of python Lib directory)
|
---|
1836 | (Python NT distribution, may be slightly different in other distributions)
|
---|
1837 |
|
---|
1838 | Standard library modules
|
---|
1839 | Operation Result
|
---|
1840 | aifc Stuff to parse AIFF-C and AIFF files.
|
---|
1841 | anydbm Generic interface to all dbm clones. (dbhash, gdbm,
|
---|
1842 | dbm,dumbdbm)
|
---|
1843 | asynchat Support for 'chat' style protocols
|
---|
1844 | asyncore Asynchronous File I/O (in select style)
|
---|
1845 | atexit Register functions to be called at exit of Python interpreter.
|
---|
1846 | audiodev Audio support for a few platforms.
|
---|
1847 | base64 Conversions to/from base64 RFC-MIME transport encoding .
|
---|
1848 | BaseHTTPServer Base class forhttp services.
|
---|
1849 | Bastion "Bastionification" utility (control access to instance vars)
|
---|
1850 | bdb A generic Python debugger base class.
|
---|
1851 | binhex Macintosh binhex compression/decompression.
|
---|
1852 | bisect List bisection algorithms.
|
---|
1853 | bz2 Support for bz2 compression/decompression.
|
---|
1854 | calendar Calendar printing functions.
|
---|
1855 | cgi Wraps the WWW Forms Common Gateway Interface (CGI).
|
---|
1856 | cgitb Utility for handling CGI tracebacks.
|
---|
1857 | CGIHTTPServer CGI http services.
|
---|
1858 | cmd A generic class to build line-oriented command interpreters.
|
---|
1859 | datetime Basic date and time types.
|
---|
1860 | code Utilities needed to emulate Python's interactive interpreter
|
---|
1861 | codecs Lookup existing Unicode encodings and register new ones.
|
---|
1862 | colorsys Conversion functions between RGB and other color systems.
|
---|
1863 | commands Tools for executing UNIX commands .
|
---|
1864 | compileall Force "compilation" of all .py files in a directory.
|
---|
1865 | ConfigParser Configuration file parser (much like windows .ini files)
|
---|
1866 | copy Generic shallow and deep copying operations.
|
---|
1867 | copy_reg Helper to provide extensibility for pickle/cPickle.
|
---|
1868 | csv Read and write files with comma separated values.
|
---|
1869 | dbhash (g)dbm-compatible interface to bsdhash.hashopen.
|
---|
1870 | dircache Sorted list of files in a dir, using a cache.
|
---|
1871 | [DEL:dircmp:DEL] [DEL:Defines a class to build directory diff tools on.:DEL]
|
---|
1872 | difflib Tool for creating delta between sequences.
|
---|
1873 | dis Bytecode disassembler.
|
---|
1874 | distutils Package installation system.
|
---|
1875 | doctest Tool for running and verifying tests inside doc strings.
|
---|
1876 | dospath Common operations on DOS pathnames.
|
---|
1877 | dumbdbm A dumb and slow but simple dbm clone.
|
---|
1878 | [DEL:dump:DEL] [DEL:Print python code that reconstructs a variable.:DEL]
|
---|
1879 | email Comprehensive support for internet email.
|
---|
1880 | exceptions Class based built-in exception hierarchy.
|
---|
1881 | filecmp File comparison.
|
---|
1882 | fileinput Helper class to quickly write a loop over all standard input
|
---|
1883 | files.
|
---|
1884 | [DEL:find:DEL] [DEL:Find files directory hierarchy matching a pattern.:DEL]
|
---|
1885 | fnmatch Filename matching with shell patterns.
|
---|
1886 | formatter A test formatter.
|
---|
1887 | fpformat General floating point formatting functions.
|
---|
1888 | ftplib An FTP client class. Based on RFC 959.
|
---|
1889 | gc Perform garbacge collection, obtain GC debug stats, and tune
|
---|
1890 | GC parameters.
|
---|
1891 | getopt Standard command line processing. See also ftp://
|
---|
1892 | www.pauahtun.org/pub/getargspy.zip
|
---|
1893 | getpass Utilities to get a password and/or the current user name.
|
---|
1894 | glob filename globbing.
|
---|
1895 | gopherlib Gopher protocol client interface.
|
---|
1896 | [DEL:grep:DEL] [DEL:'grep' utilities.:DEL]
|
---|
1897 | gzip Read & write gzipped files.
|
---|
1898 | heapq Priority queue implemented using lists organized as heaps.
|
---|
1899 | HMAC Keyed-Hashing for Message Authentication -- RFC 2104.
|
---|
1900 | htmlentitydefs Proposed entity definitions for HTML.
|
---|
1901 | htmllib HTML parsing utilities.
|
---|
1902 | HTMLParser A parser for HTML and XHTML.
|
---|
1903 | httplib HTTP client class.
|
---|
1904 | ihooks Hooks into the "import" mechanism.
|
---|
1905 | imaplib IMAP4 client.Based on RFC 2060.
|
---|
1906 | imghdr Recognizing image files based on their first few bytes.
|
---|
1907 | imputil Privides a way of writing customised import hooks.
|
---|
1908 | inspect Tool for probing live Python objects.
|
---|
1909 | keyword List of Python keywords.
|
---|
1910 | knee A Python re-implementation of hierarchical module import.
|
---|
1911 | linecache Cache lines from files.
|
---|
1912 | linuxaudiodev Lunix /dev/audio support.
|
---|
1913 | locale Support for number formatting using the current locale
|
---|
1914 | settings.
|
---|
1915 | logging Python logging facility.
|
---|
1916 | macpath Pathname (or related) operations for the Macintosh.
|
---|
1917 | macurl2path Mac specific module for conversion between pathnames and URLs.
|
---|
1918 | mailbox A class to handle a unix-style or mmdf-style mailbox.
|
---|
1919 | mailcap Mailcap file handling (RFC 1524).
|
---|
1920 | mhlib MH (mailbox) interface.
|
---|
1921 | mimetools Various tools used by MIME-reading or MIME-writing programs.
|
---|
1922 | mimetypes Guess the MIME type of a file.
|
---|
1923 | MimeWriter Generic MIME writer.
|
---|
1924 | mimify Mimification and unmimification of mail messages.
|
---|
1925 | mmap Interface to memory-mapped files - they behave like mutable
|
---|
1926 | strings./font>
|
---|
1927 | multifile Class to make multi-file messages easier to handle.
|
---|
1928 | mutex Mutual exclusion -- for use with module sched.
|
---|
1929 | netrc
|
---|
1930 | nntplib An NNTP client class. Based on RFC 977.
|
---|
1931 | ntpath Common operations on DOS pathnames.
|
---|
1932 | nturl2path Mac specific module for conversion between pathnames and URLs.
|
---|
1933 | optparse A comprehensive tool for processing command line options.
|
---|
1934 | os Either mac, dos or posix depending system.
|
---|
1935 | [DEL:packmail: [DEL:Create a self-unpacking shell archive.:DEL]
|
---|
1936 | DEL]
|
---|
1937 | pdb A Python debugger.
|
---|
1938 | pickle Pickling (save and restore) of Python objects (a faster
|
---|
1939 | Cimplementation exists in built-in module: cPickle).
|
---|
1940 | pipes Conversion pipeline templates.
|
---|
1941 | pkgunil Utilities for working with Python packages.
|
---|
1942 | popen2 variations on pipe open.
|
---|
1943 | poplib A POP3 client class. Based on the J. Myers POP3 draft.
|
---|
1944 | posixfile Extended (posix) file operations.
|
---|
1945 | posixpath Common operations on POSIX pathnames.
|
---|
1946 | pprint Support to pretty-print lists, tuples, & dictionaries
|
---|
1947 | recursively.
|
---|
1948 | profile Class for profiling python code.
|
---|
1949 | pstats Class for printing reports on profiled python code.
|
---|
1950 | pydoc Utility for generating documentation from source files.
|
---|
1951 | pty Pseudo terminal utilities.
|
---|
1952 | pyexpat Interface to the Expay XML parser.
|
---|
1953 | py_compile Routine to "compile" a .py file to a .pyc file.
|
---|
1954 | pyclbr Parse a Python file and retrieve classes and methods.
|
---|
1955 | Queue A multi-producer, multi-consumer queue.
|
---|
1956 | quopri Conversions to/from quoted-printable transport encoding.
|
---|
1957 | rand Don't use unless you want compatibility with C's rand().
|
---|
1958 | random Random variable generators
|
---|
1959 | re Regular Expressions.
|
---|
1960 | repr Redo repr() but with limits on most sizes.
|
---|
1961 | rexec Restricted execution facilities ("safe" exec, eval, etc).
|
---|
1962 | rfc822 RFC-822 message manipulation class.
|
---|
1963 | rlcompleter Word completion for GNU readline 2.0.
|
---|
1964 | robotparser Parse robots.txt files, useful for web spiders.
|
---|
1965 | sched A generally useful event scheduler class.
|
---|
1966 | sets Module for a set datatype.
|
---|
1967 | sgmllib A parser for SGML.
|
---|
1968 | shelve Manage shelves of pickled objects.
|
---|
1969 | shlex Lexical analyzer class for simple shell-like syntaxes.
|
---|
1970 | shutil Utility functions usable in a shell-like program.
|
---|
1971 | SimpleHTTPServer Simple extension to base http class
|
---|
1972 | site Append module search paths for third-party packages to
|
---|
1973 | sys.path.
|
---|
1974 | smtplib SMTP Client class (RFC 821)
|
---|
1975 | sndhdr Several routines that help recognizing sound.
|
---|
1976 | SocketServer Generic socket server classes.
|
---|
1977 | stat Constants and functions for interpreting stat/lstat struct.
|
---|
1978 | statcache Maintain a cache of file stats.
|
---|
1979 | statvfs Constants for interpreting statvfs struct as returned by
|
---|
1980 | os.statvfs()and os.fstatvfs() (if they exist).
|
---|
1981 | string A collection of string operations.
|
---|
1982 | StringIO File-like objects that read/write a string buffer (a fasterC
|
---|
1983 | implementation exists in built-in module: cStringIO).
|
---|
1984 | sunau Stuff to parse Sun and NeXT audio files.
|
---|
1985 | sunaudio Interpret sun audio headers.
|
---|
1986 | symbol Non-terminal symbols of Python grammar (from "graminit.h").
|
---|
1987 | tabnanny,/font> Check Python source for ambiguous indentation.
|
---|
1988 | tarfile Facility for reading and writing to the *nix tarfile format.
|
---|
1989 | telnetlib TELNET client class. Based on RFC 854.
|
---|
1990 | tempfile Temporary file name allocation.
|
---|
1991 | textwrap Object for wrapping and filling text.
|
---|
1992 | threading Proposed new higher-level threading interfaces
|
---|
1993 | threading_api (doc of the threading module)
|
---|
1994 | toaiff Convert "arbitrary" sound files to AIFF files .
|
---|
1995 | token Tokens (from "token.h").
|
---|
1996 | tokenize Compiles a regular expression that recognizes Python tokens.
|
---|
1997 | traceback Format and print Python stack traces.
|
---|
1998 | tty Terminal utilities.
|
---|
1999 | turtle LogoMation-like turtle graphics
|
---|
2000 | types Define names for all type symbols in the std interpreter.
|
---|
2001 | tzparse Parse a timezone specification.
|
---|
2002 | unicodedata Interface to unicode properties.
|
---|
2003 | urllib Open an arbitrary URL.
|
---|
2004 | urlparse Parse URLs according to latest draft of standard.
|
---|
2005 | user Hook to allow user-specified customization code to run.
|
---|
2006 | UserDict A wrapper to allow subclassing of built-in dict class.
|
---|
2007 | UserList A wrapper to allow subclassing of built-in list class.
|
---|
2008 | UserString A wrapper to allow subclassing of built-in string class.
|
---|
2009 | [DEL:util:DEL] [DEL:some useful functions that don't fit elsewhere !!:DEL]
|
---|
2010 | uu UUencode/UUdecode.
|
---|
2011 | unittest Utilities for implementing unit testing.
|
---|
2012 | wave Stuff to parse WAVE files.
|
---|
2013 | weakref Tools for creating and managing weakly referenced objects.
|
---|
2014 | webbrowser Platform independent URL launcher.
|
---|
2015 | [DEL:whatsound: [DEL:Several routines that help recognizing sound files.:DEL]
|
---|
2016 | DEL]
|
---|
2017 | whichdb Guess which db package to use to open a db file.
|
---|
2018 | xdrlib Implements (a subset of) Sun XDR (eXternal Data
|
---|
2019 | Representation)
|
---|
2020 | xmllib A parser for XML, using the derived class as static DTD.
|
---|
2021 | xml.dom Classes for processing XML using the Document Object Model.
|
---|
2022 | xml.sax Classes for processing XML using the SAX API.
|
---|
2023 | xmlrpclib Support for remote procedure calls using XML.
|
---|
2024 | zipfile Read & write PK zipped files.
|
---|
2025 | [DEL:zmod:DEL] [DEL:Demonstration of abstruse mathematical concepts.:DEL]
|
---|
2026 |
|
---|
2027 |
|
---|
2028 |
|
---|
2029 | * Built-ins *
|
---|
2030 |
|
---|
2031 | sys Interpreter state vars and functions
|
---|
2032 | __built-in__ Access to all built-in python identifiers
|
---|
2033 | __main__ Scope of the interpreters main program, script or stdin
|
---|
2034 | array Obj efficiently representing arrays of basic values
|
---|
2035 | math Math functions of C standard
|
---|
2036 | time Time-related functions (also the newer datetime module)
|
---|
2037 | marshal Read and write some python values in binary format
|
---|
2038 | struct Convert between python values and C structs
|
---|
2039 |
|
---|
2040 | * Standard *
|
---|
2041 |
|
---|
2042 | getopt Parse cmd line args in sys.argv. A la UNIX 'getopt'.
|
---|
2043 | os A more portable interface to OS dependent functionality
|
---|
2044 | re Functions useful for working with regular expressions
|
---|
2045 | string Useful string and characters functions and exceptions
|
---|
2046 | random Mersenne Twister pseudo-random number generator
|
---|
2047 | thread Low-level primitives for working with process threads
|
---|
2048 | threading idem, new recommanded interface.
|
---|
2049 |
|
---|
2050 | * Unix/Posix *
|
---|
2051 |
|
---|
2052 | dbm Interface to Unix ndbm database library
|
---|
2053 | grp Interface to Unix group database
|
---|
2054 | posix OS functionality standardized by C and POSIX standards
|
---|
2055 | posixpath POSIX pathname functions
|
---|
2056 | pwd Access to the Unix password database
|
---|
2057 | select Access to Unix select multiplex file synchronization
|
---|
2058 | socket Access to BSD socket interface
|
---|
2059 |
|
---|
2060 | * Tk User-interface Toolkit *
|
---|
2061 |
|
---|
2062 | tkinter Main interface to Tk
|
---|
2063 |
|
---|
2064 | * Multimedia *
|
---|
2065 |
|
---|
2066 | audioop Useful operations on sound fragments
|
---|
2067 | imageop Useful operations on images
|
---|
2068 | jpeg Access to jpeg image compressor and decompressor
|
---|
2069 | rgbimg Access SGI imglib image files
|
---|
2070 |
|
---|
2071 | * Cryptographic Extensions *
|
---|
2072 |
|
---|
2073 | md5 Interface to RSA's MD5 message digest algorithm
|
---|
2074 | sha Interface to the SHA message digest algorithm
|
---|
2075 | HMAC Keyed-Hashing for Message Authentication -- RFC 2104.
|
---|
2076 |
|
---|
2077 | * SGI IRIX * (4 & 5)
|
---|
2078 |
|
---|
2079 | al SGI audio facilities
|
---|
2080 | AL al constants
|
---|
2081 | fl Interface to FORMS library
|
---|
2082 | FL fl constants
|
---|
2083 | flp Functions for form designer
|
---|
2084 | fm Access to font manager library
|
---|
2085 | gl Access to graphics library
|
---|
2086 | GL Constants for gl
|
---|
2087 | DEVICE More constants for gl
|
---|
2088 | imgfile Imglib image file interface
|
---|
2089 |
|
---|
2090 | * Suns *
|
---|
2091 |
|
---|
2092 | sunaudiodev Access to sun audio interface
|
---|
2093 |
|
---|
2094 |
|
---|
2095 | Workspace exploration and idiom hints
|
---|
2096 |
|
---|
2097 | dir(<module>) list functions, variables in <module>
|
---|
2098 | dir() get object keys, defaults to local name space
|
---|
2099 | if __name__ == '__main__': main() invoke main if running as script
|
---|
2100 | map(None, lst1, lst2, ...) merge lists
|
---|
2101 | b = a[:] create copy of seq structure
|
---|
2102 | _ in interactive mode, is last value printed
|
---|
2103 |
|
---|
2104 |
|
---|
2105 |
|
---|
2106 |
|
---|
2107 |
|
---|
2108 |
|
---|
2109 |
|
---|
2110 | Python Mode for Emacs
|
---|
2111 |
|
---|
2112 | (Not revised, possibly not up to date)
|
---|
2113 | Type C-c ? when in python-mode for extensive help.
|
---|
2114 | INDENTATION
|
---|
2115 | Primarily for entering new code:
|
---|
2116 | TAB indent line appropriately
|
---|
2117 | LFD insert newline, then indent
|
---|
2118 | DEL reduce indentation, or delete single character
|
---|
2119 | Primarily for reindenting existing code:
|
---|
2120 | C-c : guess py-indent-offset from file content; change locally
|
---|
2121 | C-u C-c : ditto, but change globally
|
---|
2122 | C-c TAB reindent region to match its context
|
---|
2123 | C-c < shift region left by py-indent-offset
|
---|
2124 | C-c > shift region right by py-indent-offset
|
---|
2125 | MARKING & MANIPULATING REGIONS OF CODE
|
---|
2126 | C-c C-b mark block of lines
|
---|
2127 | M-C-h mark smallest enclosing def
|
---|
2128 | C-u M-C-h mark smallest enclosing class
|
---|
2129 | C-c # comment out region of code
|
---|
2130 | C-u C-c # uncomment region of code
|
---|
2131 | MOVING POINT
|
---|
2132 | C-c C-p move to statement preceding point
|
---|
2133 | C-c C-n move to statement following point
|
---|
2134 | C-c C-u move up to start of current block
|
---|
2135 | M-C-a move to start of def
|
---|
2136 | C-u M-C-a move to start of class
|
---|
2137 | M-C-e move to end of def
|
---|
2138 | C-u M-C-e move to end of class
|
---|
2139 | EXECUTING PYTHON CODE
|
---|
2140 | C-c C-c sends the entire buffer to the Python interpreter
|
---|
2141 | C-c | sends the current region
|
---|
2142 | C-c ! starts a Python interpreter window; this will be used by
|
---|
2143 | subsequent C-c C-c or C-c | commands
|
---|
2144 | C-c C-w runs PyChecker
|
---|
2145 |
|
---|
2146 | VARIABLES
|
---|
2147 | py-indent-offset indentation increment
|
---|
2148 | py-block-comment-prefix comment string used by py-comment-region
|
---|
2149 | py-python-command shell command to invoke Python interpreter
|
---|
2150 | py-scroll-process-buffer t means always scroll Python process buffer
|
---|
2151 | py-temp-directory directory used for temp files (if needed)
|
---|
2152 | py-beep-if-tab-change ring the bell if tab-width is changed
|
---|
2153 |
|
---|
2154 |
|
---|
2155 | The Python Debugger
|
---|
2156 |
|
---|
2157 | (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)
|
---|
2158 |
|
---|
2159 | Accessing
|
---|
2160 |
|
---|
2161 | import pdb (it's a module written in Python)
|
---|
2162 | -- defines functions :
|
---|
2163 | run(statement[,globals[, locals]])
|
---|
2164 | -- execute statement string under debugger control, with optional
|
---|
2165 | global & local environment.
|
---|
2166 | runeval(expression[,globals[, locals]])
|
---|
2167 | -- same as run, but evaluate expression and return value.
|
---|
2168 | runcall(function[, argument, ...])
|
---|
2169 | -- run function object with given arg(s)
|
---|
2170 | pm() -- run postmortem on last exception (like debugging a core file)
|
---|
2171 | post_mortem(t)
|
---|
2172 | -- run postmortem on traceback object <t>
|
---|
2173 |
|
---|
2174 | -- defines class Pdb :
|
---|
2175 | use Pdb to create reusable debugger objects. Object
|
---|
2176 | preserves state (i.e. break points) between calls.
|
---|
2177 |
|
---|
2178 | runs until a breakpoint hit, exception, or end of program
|
---|
2179 | If exception, variable '__exception__' holds (exception,value).
|
---|
2180 |
|
---|
2181 | Commands
|
---|
2182 |
|
---|
2183 | h, help
|
---|
2184 | brief reminder of commands
|
---|
2185 | b, break [<arg>]
|
---|
2186 | if <arg> numeric, break at line <arg> in current file
|
---|
2187 | if <arg> is function object, break on entry to fcn <arg>
|
---|
2188 | if no arg, list breakpoints
|
---|
2189 | cl, clear [<arg>]
|
---|
2190 | if <arg> numeric, clear breakpoint at <arg> in current file
|
---|
2191 | if no arg, clear all breakpoints after confirmation
|
---|
2192 | w, where
|
---|
2193 | print current call stack
|
---|
2194 | u, up
|
---|
2195 | move up one stack frame (to top-level caller)
|
---|
2196 | d, down
|
---|
2197 | move down one stack frame
|
---|
2198 | s, step
|
---|
2199 | advance one line in the program, stepping into calls
|
---|
2200 | n, next
|
---|
2201 | advance one line, stepping over calls
|
---|
2202 | r, return
|
---|
2203 | continue execution until current function returns
|
---|
2204 | (return value is saved in variable "__return__", which
|
---|
2205 | can be printed or manipulated from debugger)
|
---|
2206 | c, continue
|
---|
2207 | continue until next breakpoint
|
---|
2208 | j, jump lineno
|
---|
2209 | Set the next line that will be executed
|
---|
2210 | a, args
|
---|
2211 | print args to current function
|
---|
2212 | rv, retval
|
---|
2213 | prints return value from last function that returned
|
---|
2214 | p, print <arg>
|
---|
2215 | prints value of <arg> in current stack frame
|
---|
2216 | l, list [<first> [, <last>]]
|
---|
2217 | List source code for the current file.
|
---|
2218 | Without arguments, list 11 lines around the current line
|
---|
2219 | or continue the previous listing.
|
---|
2220 | With one argument, list 11 lines starting at that line.
|
---|
2221 | With two arguments, list the given range;
|
---|
2222 | if the second argument is less than the first, it is a count.
|
---|
2223 | whatis <arg>
|
---|
2224 | prints type of <arg>
|
---|
2225 | !
|
---|
2226 | executes rest of line as a Python statement in the current stack frame
|
---|
2227 | q quit
|
---|
2228 | immediately stop execution and leave debugger
|
---|
2229 | <return>
|
---|
2230 | executes last command again
|
---|
2231 | Any input debugger doesn't recognize as a command is assumed to be a
|
---|
2232 | Python statement to execute in the current stack frame, the same way
|
---|
2233 | the exclamation mark ("!") command does.
|
---|
2234 |
|
---|
2235 | Example
|
---|
2236 |
|
---|
2237 | (1394) python
|
---|
2238 | Python 1.0.3 (Sep 26 1994)
|
---|
2239 | Copyright 1991-1994 Stichting Mathematisch Centrum, Amsterdam
|
---|
2240 | >>> import rm
|
---|
2241 | >>> rm.run()
|
---|
2242 | Traceback (innermost last):
|
---|
2243 | File "<stdin>", line 1
|
---|
2244 | File "./rm.py", line 7
|
---|
2245 | x = div(3)
|
---|
2246 | File "./rm.py", line 2
|
---|
2247 | return a / r
|
---|
2248 | ZeroDivisionError: integer division or modulo
|
---|
2249 | >>> import pdb
|
---|
2250 | >>> pdb.pm()
|
---|
2251 | > ./rm.py(2)div: return a / r
|
---|
2252 | (Pdb) list
|
---|
2253 | 1 def div(a):
|
---|
2254 | 2 -> return a / r
|
---|
2255 | 3
|
---|
2256 | 4 def run():
|
---|
2257 | 5 global r
|
---|
2258 | 6 r = 0
|
---|
2259 | 7 x = div(3)
|
---|
2260 | 8 print x
|
---|
2261 | [EOF]
|
---|
2262 | (Pdb) print r
|
---|
2263 | 0
|
---|
2264 | (Pdb) q
|
---|
2265 | >>> pdb.runcall(rm.run)
|
---|
2266 | etc.
|
---|
2267 |
|
---|
2268 | Quirks
|
---|
2269 |
|
---|
2270 | Breakpoints are stored as filename, line number tuples. If a module is reloaded
|
---|
2271 | after editing, any remembered breakpoints are likely to be wrong.
|
---|
2272 |
|
---|
2273 | Always single-steps through top-most stack frame. That is, "c" acts like "n".
|
---|