Avec les flottants on a aussi des petites surprises
>>> 1/3 + 1/3 + 1/3 == 3
False
Mais ce n'est pas dû à Python mais à la manière dont sont représentés les nombres en binaire.
Sinon is ne compare pas les objets mais les références vers ces objets. Tu peux connaître les références en faisant id(object).
a = 256
b = 256
print(id(a), id(b), id(a) == id(b))
a = 257
b = 257
print(id(a), id(b), id(a) == id(b))
Retourne:
10922656 10922656 True
140356704355696 140356704355472 False