从python中的子类调用超类方法

时间:2013-05-23 01:40:53

标签: python call subclass static-methods superclass

我想知道一个子类是否可以调用它的父静态方法,并测试它:它的工作方式与我希望的一样!

class A(object):
    @classmethod
    def static(cls):
    print('act on '+cls.__name__)

class B(A):
    def foo(self):
        print('foo()')

>>> B.static()
act on B

我想知道在使用这种技术时是否有陷阱需要注意......

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

您所呼叫的是父母的classmethod,而不是staticmethod

无论如何,它们都可以通过子类来调用。

如果您在A覆盖classmethod的{​​{1}},您仍然可以使用B引用A.static