Aşağıdaki kodu göz önünde bulundurun:
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
Kimden Derived.do
, nasıl ararım Base.do
?
Normalde super
bu normal bir nesne yöntemi ise doğrudan temel sınıf adını veya hatta temel sınıf adını kullanırdım , ancak görünüşe göre temel sınıfta sınıf yöntemini çağırmanın bir yolunu bulamıyorum.
Yukarıdaki örnekte, class yerine class Base.do(a)
yazdırmaktadır .Base
Derived