Site Tools


notes:python_cheat_sheet

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

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://www.python.org/ | Python]] is a dynamic object-oriented programming language with extensive standard libraries. These notes summarize the [[http://docs.python.org/3.1/tutorial/ | Python 3.tutorial]]. +[[http://www.python.org/ | Python]] is a dynamic object-oriented programming language with extensive standard libraries. These notes summarize the [[http://docs.python.org/3.0/tutorial/ | Python 3.tutorial]]. 
-  * **python**/**python3.1** is the command-line interpreter with readline where available.+ 
 +===== The Interpreter ===== 
 + 
 +  * **python**/**python3.0** is the command-line interpreter with readline where available.
   * python -c command runs a single command.   * python -c command runs a single command.
-  * %%>>> prompts for a line . ... prompts for a continuation of a previous line.%%+  * sys.argv is a list of strings with the script if any in sys.argv[0] 
 +  * >>> prompts for a line . ... prompts for a continuation of a previous line
   * 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 for classes lower_case with underscores for functions.+  * 4 spaces per indent, no tabs. CamelCasel for classes lower_case_with_underscores for functions.
  
 ===== 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 using list comprehension <code python>+  * Lists can be created from sequences e.g <code python>
 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]]</code>
-[x+y for x in vec for y in vec2 if x > 2]</code>+
   * 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://docs.python.org/3.1/library/stdtypes.html#string-methods | String methods]] include strip, format, capitalize etc.+  * [[http://docs.python.org/3.0/library/stdtypes.html#string-methods | String methods]] include strip, format, capitalize etc
 +  * 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 Collection Stuff =====+===== Assorted =====
  
   * Dictionaries are unordered sets of key value pairs e.g. { a:1, b:2} or dict([(a,1),(b,2)]) or dict(a=1,b=2)   * Dictionaries are unordered sets of key value pairs e.g. { a:1, b:2} or dict([(a,1),(b,2)]) or dict(a=1,b=2)
   * Dictionary keys/values/items can be enumerated over.   * Dictionary keys/values/items can be enumerated over.
-  * 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>import fib 
-from fib import fib1, fib2 
-</code> 
-  * %%__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/Output ===== 
- 
-  * str() returns a readable representations, repr() returns a canonical representation 
-  * Strings have several formatting methods.  
-  * //formatstring.format(tuple)// is the [[http://docs.python.org/3.1/library/string.html#formatspec | new-style printf]] equivalent. The [[http://docs.python.org/3.1/library/stdtypes.html#old-string-formatting | old-style]] was //formatstring % (tuple)// which uses C-type format strings. 
-  * To open a file <code python> open('/tmp/workfile', 'w') </code> 
-  * [[http://docs.python.org/3.1/library/stdtypes.html#file-objects | File methods]] include read, readline, write. 
-  * //pickle// contains [[http://docs.python.org/3.1/library/pickle.html | load and dump methods]] for serializing objects. Support should be added for new object types. 
- 
-===== Error Handling ===== 
- 
-  * Syntax errors are parsing errors, exceptions are runtime errors. 
-  * Exceptions are class objects in the exceptions module. [[http://docs.python.org/3.1/library/exceptions.html#bltin-exceptions | List of builtin exceptions]]. 
-  * Exception handling is supported using try..except..else..finally :<code python> 
-try: 
-    result = x / y 
-except ZeroDivisionError: 
-    print("division by zero!") 
-except Exception as inst: 
-    print(type(inst))    # the exception instance 
-    print(inst.args)     # arguments stored in .args 
-    print(inst)          # also prints .args 
-else: 
-    print("result is", result) 
-finally: 
-    print("executing finally clause") 
-</code> 
-  * Errors can be raised using ''raise Exception('mine')'' or just ''raise'' in an exception handler. 
-  * New exception classes can be created and should derive from the Exception class. 
-  * ''with'' can be used to automatically call the cleanup actions of an object e.g. <code python> 
-with open("myfile.txt") as f: 
-    for line in f: 
-        print(line) 
-</code> 
- 
notes/python_cheat_sheet.1780639669.txt.gz · Last modified: 2026/06/04 23:07 by 47.82.8.230