Source: http://www.phyast.pitt.edu/~micheles/python/super.pdf