from math import * def f1(x): return x**2 def f2(x): return x**4 def f3(x): return x**10 def deriv(func, x, dx=0.1): df = func(x+dx/2)-func(x-dx/2) return df/dx print deriv(f1, 1.0), deriv(f1, 1.0, 0.01) print deriv(f2, 1.0), deriv(f2, 1.0, 0.01) print deriv(f3, 1.0), deriv(f3, 1.0, 0.01)