Otras respuestas ya señalaron que la representación de números flotantes es un tema espinoso, por decir lo menos.
Como no da suficiente contexto en su pregunta, no puedo saber si el módulo decimal puede ser útil para sus necesidades:
http://docs.python.org/library/decimal.html
Entre otras cosas, puede especificar explícitamente la precisión que desea obtener (de los documentos):
>>> getcontext().prec = 6
>>> Decimal('3.0')
Decimal('3.0')
>>> Decimal('3.1415926535')
Decimal('3.1415926535')
>>> Decimal('3.1415926535') + Decimal('2.7182818285')
Decimal('5.85987')
>>> getcontext().rounding = ROUND_UP
>>> Decimal('3.1415926535') + Decimal('2.7182818285')
Decimal('5.85988')
Un ejemplo simple de mi indicador (python 2.6):
>>> import decimal
>>> a = decimal.Decimal('10.000000001')
>>> a
Decimal('10.000000001')
>>> print a
10.000000001
>>> b = decimal.Decimal('10.00000000000000000000000000900000002')
>>> print b
10.00000000000000000000000000900000002
>>> print str(b)
10.00000000000000000000000000900000002
>>> len(str(b/decimal.Decimal('3.0')))
29
¿Quizás esto pueda ayudar? decimal está en python stdlib desde 2.4, con adiciones en python 2.6.
Espero que esto ayude, Francesco