Site Tools


Hotfix release available: 2026-07-14c "Mort". upgrade now! [57.3] (what's this?)
Hotfix release available: 2026-07-14b "Mort". upgrade now! [57.2] (what's this?)
Hotfix release available: 2026-07-14a "Mort". upgrade now! [57.1] (what's this?)
New release available: 2026-07-14 "Mort". upgrade now! [57] (what's this?)
Hotfix release available: 2025-05-14b "Librarian". upgrade now! [56.2] (what's this?)
Hotfix release available: 2025-05-14a "Librarian". upgrade now! [56.1] (what's this?)
New release available: 2025-05-14 "Librarian". upgrade now! [56] (what's this?)
Hotfix release available: 2024-02-06b "Kaos". upgrade now! [55.2] (what's this?)
Hotfix release available: 2024-02-06a "Kaos". upgrade now! [55.1] (what's this?)
New release available: 2024-02-06 "Kaos". upgrade now! [55] (what's this?)
Hotfix release available: 2023-04-04b "Jack Jackrum". upgrade now! [54.2] (what's this?)
Hotfix release available: 2023-04-04a "Jack Jackrum". upgrade now! [54.1] (what's this?)
New release available: 2023-04-04 "Jack Jackrum". upgrade now! [54] (what's this?)
Hotfix release available: 2022-07-31b "Igor". upgrade now! [53.1] (what's this?)
Hotfix release available: 2022-07-31a "Igor". upgrade now! [53] (what's this?)
New release available: 2022-07-31 "Igor". upgrade now! [52.2] (what's this?)
New release candidate 2 available: rc2022-06-26 "Igor". upgrade now! [52.1] (what's this?)
New release candidate available: 2022-06-26 "Igor". upgrade now! [52] (what's this?)
Hotfix release available: 2020-07-29a "Hogfather". upgrade now! [51.4] (what's this?)
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/11/03 00:30]
47.79.201.159 old revision restored (2026/09/11 20:57)
notes:python_cheat_sheet [2026/11/03 03:29] (current)
101.166.17.61 old revision restored (2026/08/03 07:52)
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.0/tutorial/ | Python 3.0 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.1/tutorial/ | Python 3.1 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.
-  * 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.%%
-  * >>> 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 30: Line 26:
   * 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 for classes lower_case_with_underscores for functions.+  * 4 spaces per indent, no tabs. CamelCase for classes lower_case with underscores for functions.
  
 ===== Lists ===== ===== Lists =====
Line 54: Line 50:
   * 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.0/library/stdtypes.html#string-methods | String methods]] include strip, format, capitalize etc. +  * [[http://docs.python.org/3.1/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 82: Line 77:
   * 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 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 87:
 from fib import fib1, fib2 from fib import fib1, fib2
 </code> </code>
-  * __name__ is set to the name of the module or to __main__ if called from the command line.+  * %%__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 99: Line 94:
   * 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 .   * 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.   * . 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 <code python>raise Exception('mine')</code> or just <code python>raise</code> in an exception handler.
 +  * 
 +
notes/python_cheat_sheet.1793694606.txt.gz · Last modified: 2026/11/03 00:30 by 47.79.201.159