Variables de clase cambiantes de Python

Está bien, lo intentaré y seré extremadamente claro esta vez.

class Yes:

    def __init__(self):
        self.a=1

    def yes(self):
        if self.a==1:
            print "Yes"
        else:
            print "No, but yes"

class No(Yes):

    def no(self):
        if self.a==1:
            print "No"
        else:
            print "Yes, but no"
        self.a-=1 #Note this line

Ahora, mientras se ejecuta:

Yes().yes()
No().no()
Yes().yes()
No().no()

Quiero que se imprima:

Yes
No
No, but yes
Yes, but no

Me da:

Yes
No
Yes
No

Ahora, sé que la razón es porque solo estoy cambiando el valor de Self.a en la clase No (¿Recuerdas esa línea?). Quiero saber si hay alguna forma de cambiarlo en la clase Sí mientras aún estoy en la clase No (como si hubiera algo que pudiera conectar en lugar del self.a- = 1 que funcionaría).

Respuestas a la pregunta(2)

Su respuesta a la pregunta