Usando "Decimal" en Python

¿Alguien puede explicar qué ocurre a continuación? (Yo uso Python 3.3)

1. >>> Decimal("0.1") + Decimal("0.1") + Decimal("0.1") - Decimal("0.3")
       Decimal('0.0')

2. >>> Decimal(0.1) + Decimal(0.1) + Decimal(0.1) - Decimal(0.3)
       Decimal('2.775557561565156540423631668E-17')

3. >>> Decimal(0.1 + 0.1 + 0.1 - 0.3)
       Decimal('5.5511151231257827021181583404541015625E-17')

Sé que tiene que ver con la limitación de punto flotante, me alegraría si alguien pudiera explicar por qué

¿Qué tiene el" " Tiene que ver con la diferencia entre los ejemplos 1 y 2 anteriores.¿Por qué 2 produce una diferencia de respuesta de 3 dado que ambos no tienen" "?

Respuestas a la pregunta(1)

Su respuesta a la pregunta