Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
notes:python_cheat_sheet [2009/04/24 17:33] smthng |
notes:python_cheat_sheet [2009/12/18 18:06] (current) smthng |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Python Cheat Sheet ====== | ====== Python Cheat Sheet ====== | ||
| - | ===== Overview ===== | + | [[http:// |
| - | + | * **python**/ | |
| - | [[http:// | + | |
| - | + | ||
| - | ===== The Interpreter ===== | + | |
| - | + | ||
| - | * **python**/ | + | |
| * python -c command runs a single command. | * python -c command runs a single command. | ||
| - | * sys.argv is a list of strings with the script if any in sys.argv[0] | + | * %%>>> |
| - | * >>> | + | |
| * PYTHONSTARTUP can point to a file of startup commands | * PYTHONSTARTUP can point to a file of startup commands | ||
| * Expressions are evaluated and printed. | * Expressions are evaluated and printed. | ||
| * The last printed expression is assigned to _ . | * The last printed expression is assigned to _ . | ||
| - | |||
| ===== Basics ===== | ===== Basics ===== | ||
| * Comments start with # . | * Comments start with # . | ||
| + | * sys.argv is a list of strings with the script if any in sys.argv[0] | ||
| * Variables can be assigned (using = ) without being defined but must be assigned before being used. | * Variables can be assigned (using = ) without being defined but must be assigned before being used. | ||
| * a,b = c,d does a multiple assignment. | * a,b = c,d does a multiple assignment. | ||
| Line 30: | Line 24: | ||
| * lambda x: x + n creates a small anonymous function. | * lambda x: x + n creates a small anonymous function. | ||
| * A function should contain a triply quoted doc string at the start. This is accessible with func.__doc__ . | * A function should contain a triply quoted doc string at the start. This is accessible with func.__doc__ . | ||
| - | * 4 spaces per indent, no tabs. CamelCasel | + | * 4 spaces per indent, no tabs. CamelCase |
| ===== Lists ===== | ===== Lists ===== | ||
| Line 47: | Line 41: | ||
| * Other sequence types include tuples ( (1,2) or 1,2) and sets ({1,2} or set(1,2)). | * Other sequence types include tuples ( (1,2) or 1,2) and sets ({1,2} or set(1,2)). | ||
| - | ===== Strings | + | ===== Input/ |
| * Strings can be enclosed with double or single-quotes. | * Strings can be enclosed with double or single-quotes. | ||
| * \ in a string by itself goes to the next line but does not insert a newline (\n does). | * \ in a string by itself goes to the next line but does not insert a newline (\n does). | ||
| Line 54: | Line 48: | ||
| * A string can be treated as a list of letters. | * A string can be treated as a list of letters. | ||
| * But strings can't be modified using slices or indexes. | * But strings can't be modified using slices or indexes. | ||
| - | * [[http:// | + | * [[http:// |
| + | * // | ||
| + | * str() returns a readable representation, | ||
| + | * To open a file <code python> open('/ | ||
| + | * [[http:// | ||
| + | * //pickle// contains [[http:// | ||
| + | |||
| ===== Control Flow ===== | ===== Control Flow ===== | ||
| Line 81: | Line 82: | ||
| * Dictionaries are unordered sets of key value pairs e.g. { a:1, b:2} or dict([(a, | * Dictionaries are unordered sets of key value pairs e.g. { a:1, b:2} or dict([(a, | ||
| * Dictionary keys/ | * Dictionary keys/ | ||
| - | * sorted and reversed take in liats and return new lists. | + | * sorted and reversed take in lists and return new lists. |
| * enumerate takes in a list and returns a list of pairs where the first item in the pair is an integer starting with 0. | * enumerate takes in a list and returns a list of pairs where the first item in the pair is an integer starting with 0. | ||
| * zip takes two or more lists with the same number of elements and creates a single list of lists with corresponding members grouped together. | * zip takes two or more lists with the same number of elements and creates a single list of lists with corresponding members grouped together. | ||
| Line 99: | Line 100: | ||
| * . is the current package, .. is the parent package etc. | * . is the current package, .. is the parent package etc. | ||
| - | ===== Input/ | + | ===== Error Handling |
| - | * str() returns a readable representations, repr() returns a canonical representation | + | * Syntax errors are parsing errors, exceptions are runtime errors. |
| - | * Strings have several formatting methods. | + | * Exceptions are class objects in the exceptions module. [[http:// |
| - | * // | + | * Exception handling is supported using try..except..else..finally :<code python> |
| - | * To open a file < | + | try: |
| - | * [[http:// | + | result = x / y |
| - | * //pickle// contains [[http:// | + | except ZeroDivisionError: |
| + | print(" | ||
| + | except Exception as inst: | ||
| + | print(type(inst)) | ||
| + | print(inst.args) # arguments stored in .args | ||
| + | print(inst) | ||
| + | else: | ||
| + | print(" | ||
| + | finally: | ||
| + | print(" | ||
| + | </code> | ||
| + | * Errors can be raised using '' | ||
| + | * New exception classes can be created and should derive from the Exception class. | ||
| + | * '' | ||
| + | with open(" | ||
| + | for line in f: | ||
| + | print(line) | ||
| + | </code> | ||
| + | |||
| + | ===== Classes ===== | ||