【发布时间】:2020-06-10 21:30:40
【问题描述】:
class MyClass:
def __init__(*args):
print(super())
MyClass()
为什么这段代码会引发RuntimeError: super(): no arguments?这是在 Python 3.7.4 中。
【问题讨论】:
-
该方法必须有第一个参数,"new
super" 才能正常工作,尽管它不必命名为self。 -
“because they say so”有足够的理由吗? (即,第一个参数必须是一个简单的变量。)
-
print(super(MyClass, args[0]).__init__())按预期工作,无需显式命名self。
标签: python python-3.x class