This is an old revision of the document!


Python Cheat Sheet

Overview

Python is a dynamic object-oriented programming language with extensive standard libraries. These notes summarize the Python 3.0 tutorial.

The Interpreter

  • python/python3.0 is the command-line interpreter with readline where available.
  • 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
  • PYTHONSTARTUP can point to a file of startup commands
  • Expressions are evaluated and printed.
  • The last printed expression is assigned to _ .

Basics

  • Comments start with # .
  • Variables can be assigned (using = ) without being defined but must be assigned before being used.
  • a,b = c,d does a multiple assignment.
  • Imaginary numbers can be created using complex(a,b) or a+bJ. .real and .imag will extract real and imaginary parts.
  • print(“a”,“b”,end=“”) prints a b with no newline at the end.

Functions

  • To define a function or procedure
    define func(n,str="default"):
    define func(formal1, formal2, *arguments **keywords)
  • The default value for an argument is evaluated only once when the function is defined.
  • All arguments are passed using call by object reference. So changes are seen by caller.
  • * unpacks a list or dictionary for use in a 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 .
  • 4 spaces per indent, no tabs. CamelCasel for classes lower_case_with_underscores for functions.

Lists

  • list=[1 ,'a' , “b”] is a list of three items.
  • list[4] is 4th element. list[2:4] is second and third elements. list[:2] is first 2 elements. list[2:] is third element to last one. list[:] is the whole list.
  • Negative indexes count from last element.
  • List slices can be modified. list[3:3] can be used to insert elements at position 3.
  • len(list) returns length of the list.
  • Lists can be nested.
  • Other methods include append, pop, extend, index, count, sort, reverse.
  • Lists can be created from sequences using list comprehension
    vec = [2, 4, 6]
    [[x, x**2] for x in vec if x > 2]
    [[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)).

Strings

  • 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).
  • A raw string - r“” does no escaping.
  • + concatenates strings, * repeats them .
  • A string can be treated as a list of letters.
  • But strings can't be modified using slices or indexes.
  • String methods include strip, format, capitalize etc.

Control Flow

  • Controlled by level of indentation.
  • pass is a NOOP .
  • while a<10:
      pass
  • for x in list:
      pass
    for x in range(1,5):
      pass
  • if a›10:
       pass
    elif a›5:
       pass
    else:
  • break and continue can be used
  • Loops may have else clauses for code executed after normal termination (not a break).

Assorted Collection Stuff

  • 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.
  • sorted and reversed take in liats 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.
    import fib
    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/Output

  • str() returns a readable representations, repr() returns a canonical representation
  • Strings have several formatting methods.
  • formatstring.format(tuple) is the printf equivalent. The old style was formatstring % (tuple) which uses C-type format strings.
  • To open a file
     open('/tmp/workfile', 'w') 
  • File methods include read, readline, write.
  • pickle contains load and dump methods for serializing objects. Support should be added for new object types.
Recent changes RSS feed Creative Commons License Donate Minima Template by Wikidesign Driven by DokuWiki