Attribut de classe python

j'ai une question à propos de l'attribut de classe en python.

class base :
    def __init__ (self):
        pass
    derived_val = 1

t1 = base()
t2 = base ()

t2.derived_val +=1
t2.__class__.derived_val +=2
print t2.derived_val             # its value is 2
print t2.__class__.derived_val   # its value is 3

Les résultats sont différents. J'utilise également la fonction id() pour trouver des t2.derived_val et t2.classe.derived_val ont de la mémoire différente de l'adresse.
Mon problème est derived_val est un attribut de classe. Pourquoi c'est différent dans l'exemple ci-dessus?
Est-ce parce que l'instance de classe de copier ses propres derived_val à côté de l'attribut de classe?

source d'informationauteur chnet