Indagando un poco al respecto ya se porqué. Antes de nada un ejemplo:
class B:
b = "B"
class C(B):
def __init__(self,v):
self.b = v
b1 = B()
b2 = B()
c = C("c")
#--- Valores originales
print b1.b,b2.b,c.b
#--- Cambiamos la variable de clase
B.b = "BB"
print b1.b,b2.b,c.b
#---- Cambiamos variable de instancia de objeto de tipo B
b1.b = "B"
print b1.b,b2.b,c.b
Que nos proporciona la salida:
B B c
BB BB c
B BB c
El ejemplo anteiror nos muestra que cuando referenciamos una variable de instancia que no existe, pero si como clase, automáticamente se crea una variable de instancia con el valor de la variable de clase.