【发布时间】:2019-11-08 05:29:29
【问题描述】:
在这里找不到答案,所以发布这个。 收到此错误:
main() takes 1 positional argument but 2 were given
对于这段代码,B 尝试扩展 A 的方法,该方法调用了一个额外的类方法。
class A:
@classmethod
def run(cls):
cls.main(cls)
@classmethod
def main(cls):
"""Override and set main logic here
"""
pass
class B(A):
title = "Hello"
@classmethod
def run(cls, name):
cls.name = name
super().run()
@classmethod
def main(cls, *args):
"""Override and set main logic here
"""
print(cls.title, cls.name)
B.run('Bob') # Hello Bob
【问题讨论】:
标签: python-3.x super superclass class-method