Python mit der Methode der abgeleiteten Klasse in der übergeordneten Klasse?

Kann ich eine übergeordnete Klasse zwingen, die Version einer Funktion einer abgeleiteten Klasse aufzurufen?

class Base(object):
    attr1 = ''
    attr2 = ''

    def virtual(self):
        pass               # doesn't do anything in the parent class

    def func(self):
        print "%s, %s" % (self.attr1, self.attr2)
        self.virtual()

und eine Klasse, die sich daraus ableitet

class Derived(Base):
    attr1 = 'I am in class Derived'
    attr2 = 'blah blah'

    def virtual(self):
        # do stuff...
        # do stuff...

Unklarheiten beseitigen:

d = Derived()
d.func()         # calls self.virtual() which is Base::virtual(), 
                 #  and I need it to be Derived::virtual()

Antworten auf die Frage(3)

Ihre Antwort auf die Frage