我想覆盖派生类中基类的方法。
我无法访问基类的代码,所以我必须继承它并且必须覆盖该方法。
重写方法需要调用具有任意数量参数的函数,作为参数传递,因此我必须更改方法签名。
但是当我尝试运行以下代码时出现以下错误:
TypeError: 'str' object is not callable
示例代码:
# I don't have access to this code:
# _____________________________
class Base:
def run(self):
pass
# _____________________________
# Only to the following:
class Sub(Base):
def run(self, func, *args):
func(*args)
def call_me(test1, test2):
print(test1+test2)
test = Sub
test.run(call_me, "test1 ", "test2")
我有什么建议可以解决这个问题吗?
我想要方法"运行"能够使用未知数量的参数调用任何函数
---------编辑---------
好的抱歉,我找到了解决方案:
这只是一个可怕的错字 - 我的坏!
以下陈述中输入错字:
test = Sub
必须是:
test = Sub()