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:26] 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:// |
- | * format-string % (tuple) | + | * // |
+ | * str() returns a readable representation, | ||
+ | * To open a file <code python> open('/ | ||
+ | * [[http:// | ||
+ | * //pickle// contains [[http:// | ||
+ | |||
===== Control Flow ===== | ===== Control Flow ===== | ||
Line 82: | 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 92: | Line 92: | ||
from fib import fib1, fib2 | from fib import fib1, fib2 | ||
</ | </ | ||
- | * <code python>__name__</ | + | * %%__name__%% is set to the name of the module or to %%__main__%% if called from the command line. |
* The search list for modules is the variable sys.path initialized from the directory containing the input script (or the current directory), PYTHONPATH and the installation-dependent default. | * The search list for modules is the variable sys.path initialized from the directory containing the input script (or the current directory), PYTHONPATH and the installation-dependent default. | ||
* When a module is imported, a byte-code version is stored to module.pyc which speeds up successive loads. | * When a module is imported, a byte-code version is stored to module.pyc which speeds up successive loads. | ||
Line 100: | 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:// |
- | * [[ http:// | + | * Exception handling |
- | * To open a file <code python> open('/ | + | try: |
- | * File methods include read, readline, write. | + | result = x / y |
- | * //pickle// contains load and dump methods for serializing objects. Support | + | except ZeroDivisionError: |
+ | print(" | ||
+ | except Exception as inst: | ||
+ | print(type(inst)) | ||
+ | print(inst.args) # arguments stored in .args | ||
+ | print(inst) # also prints | ||
+ | else: | ||
+ | print(" | ||
+ | finally: | ||
+ | print(" | ||
+ | </ | ||
+ | * Errors can be raised using '' | ||
+ | * New exception classes can be created | ||
+ | * '' | ||
+ | with open(" | ||
+ | for line in f: | ||
+ | print(line) | ||
+ | </ | ||
+ | |||
+ | ===== Classes ===== |