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 e.g
    vec = [2, 4, 6]
    [[x, x**2] for x in vec]
    [[2, 4], [4, 16], [6, 36]]
  • 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.
  • format-string % (tuple) allows use of printf formatting strings. Also string.format() .

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

  • 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.

Recent changes RSS feed Creative Commons License Donate Minima Template by Wikidesign Driven by DokuWiki