python - 在Python中从子类调用父类(super class)方法

标签 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

我想知道使用该技术时是否有需要注意的陷阱......

有什么建议吗?

最佳答案

您调用的是父级的classmethod,而不是staticmethod

无论如何,它们都可以通过子类调用,并且很常见。

如果您在 B 中覆盖 Aclassmethod,您仍然可以引用 A.static 使用 super(B, cls).static

关于python - 在Python中从子类调用父类(super class)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16704324/

相关文章:

java - Eclipse查看程序运行流程

ios - 覆盖 loadView 会导致 viewDidLoad 和 loadView 在每次出现 VC 时触发

iphone - 简单的自定义 UIView 类已损坏

Python关于绘制对象居中的坐标系问题

python - conda 错误 : Cannot link a source that does not exist

python - 什么时候应该使用 Popen() 什么时候应该使用 call()?

r - 如何使用列表/向量元素作为 R 中函数的对象参数?

python - Keras:input_shape=train_data.shape 产生 "list index out of range"

python - 提取span标签内的信息

java - 超子功能