den folgenden Code vor:Aufruf einer Class der Basisklasse in Python
class Base(object):
@classmethod
def do(cls, a):
print cls, a
class Derived(Base):
@classmethod
def do(cls, a):
print 'In derived!'
# Base.do(cls, a) -- can't pass `cls`
Base.do(a)
if __name__ == '__main__':
d = Derived()
d.do('hello')
> $ python play.py
> In derived!
> <class '__main__.Base'> msg
Von Derived.do
, wie rufe ich Base.do
?
Normalerweise würde ich super
oder sogar den Basisklassennamen direkt verwenden, wenn dies eine normale Objektmethode ist, aber anscheinend kann ich keinen Weg finden, die Klassenmethode in der Basisklasse aufzurufen.
Im obigen Beispiel druckt Base.do(a)
Base
Klasse statt Derived
Klasse.
Verwandte: [Wie eine Elternklasse Methode von Kind-Klasse in Python nennen?] (Http://stackoverflow.com/q/805066/95735) –