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 [2026/06/04 23:07] 47.82.8.230 old revision restored (2026/05/31 00:30) |
notes:python_cheat_sheet [2026/06/16 11:03] (current) 47.79.10.133 old revision restored (2026/05/27 18:12) |
||
|---|---|---|---|
| Line 3: | Line 3: | ||
| ===== Overview ===== | ===== Overview ===== | ||
| - | [[http:// | + | [[http:// |
| - | * **python**/ | + | |
| + | ===== 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 26: | Line 30: | ||
| * 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. CamelCase | + | * 4 spaces per indent, no tabs. CamelCasel |
| ===== Lists ===== | ===== Lists ===== | ||
| Line 36: | Line 40: | ||
| * Lists can be nested. | * Lists can be nested. | ||
| * Other methods include append, pop, extend, index, count, sort, reverse. | * Other methods include append, pop, extend, index, count, sort, reverse. | ||
| - | * Lists can be created from sequences | + | * Lists can be created from sequences |
| vec = [2, 4, 6] | vec = [2, 4, 6] | ||
| - | [[x, x**2] for x in vec if x > 2] | + | [[x, x**2] for x in vec] |
| - | [[4, 16], [6, 36]] | + | [[2, 4], [4, 16], [6, 36]]</ |
| - | [x+y for x in vec for y in vec2 if x > 2]</ | + | |
| * 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)). | ||
| Line 50: | Line 53: | ||
| * 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) allows use of printf formatting strings. Also string.format() | ||
| ===== Control Flow ===== | ===== Control Flow ===== | ||
| Line 73: | Line 77: | ||
| * Loops may have else clauses for code executed after normal termination (not a break). | * Loops may have else clauses for code executed after normal termination (not a break). | ||
| - | ===== Assorted | + | ===== Assorted ===== |
| * 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 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. | ||
| - | * zip takes two or more lists with the same number of elements and creates a single list of lists with corresponding members grouped together. | ||
| - | |||
| - | ===== Modules & Packages ===== | ||
| - | |||
| - | * A //module// is a file of python definitions. | ||
| - | * Definitions in a module can be accessed by importing the module. <code python> | ||
| - | from fib import fib1, fib2 | ||
| - | </ | ||
| - | * %%__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. | ||
| - | * When a module is imported, a byte-code version is stored to module.pyc which speeds up successive loads. | ||
| - | * There are many standard modules including sys which is common to all platforms. | ||
| - | * dir(module) lists all names in a module sorted alphabetically. dir(builtins) shows all the built-in functions and variables. | ||
| - | * Packages can be used to group modules. Packages should be in a named directory with an __init__.py file optionally containing initialization code. E.g. import sound.effects.echo . | ||
| - | * . is the current package, .. is the parent package etc. | ||
| - | |||
| - | ===== Input/ | ||
| - | |||
| - | * str() returns a readable representations, | ||
| - | * Strings have several formatting methods. | ||
| - | * // | ||
| - | * To open a file <code python> open('/ | ||
| - | * [[http:// | ||
| - | * //pickle// contains [[http:// | ||
| - | |||
| - | ===== Error Handling ===== | ||
| - | |||
| - | * Syntax errors are parsing errors, exceptions are runtime errors. | ||
| - | * Exceptions are class objects in the exceptions module. [[http:// | ||
| - | * Exception handling is supported using try..except..else..finally :<code python> | ||
| - | try: | ||
| - | result = x / y | ||
| - | except ZeroDivisionError: | ||
| - | print(" | ||
| - | except Exception as inst: | ||
| - | print(type(inst)) | ||
| - | print(inst.args) | ||
| - | print(inst) | ||
| - | else: | ||
| - | print(" | ||
| - | finally: | ||
| - | print(" | ||
| - | </ | ||
| - | * 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) | ||
| - | </ | ||
| - | |||