Python has a brilliant decimal module (http://docs.python.org/library/decimal.html) you may need if you want to avoid floating point errors. This may be necessary if you are faced with compounding errors under special circumstances e.g. if testing a statistical routine against a purpose-built test dataset (e.g. http://www.itl.nist.gov/div898/strd/anova/SmLs09_cv.html). The performance hit is substantial, however, so it has to be used judiciously. Anyway, here is an example:
import decimal
D = decimal.Decimal
decimal.getcontext().prec = 120
d1 = D("1.1")
f1 = 1.1
print "Decimal result is: %s" % round((d1**1000 - D("2.46993291801e+41")),3)
print "Floating point result is: %s" % round((f1**1000 - 2.46993291801e+41),3)
>>>
Decimal result is: -4.17366587591e+29
Floating point result is: -3.97456123863e+29
Usually, floating point is good enough – but not under all circumstances. In which case, it pays to be familiar with the decimal module.