RuntimeError: super(): no arguments
时间: 2024-09-28 12:02:55 浏览: 95
Microsoft PressWindows Runtime via C#
RuntimeError: super(): no arguments 这个错误通常发生在Python中,当你试图调用父类的构造函数(super())而没有提供任何参数时。`super()`函数用于查找并调用当前类的父类中的方法,它需要一个额外的参数来指定上下文,即你想从哪个父类那里获取方法。如果你忘记传入这个参数,比如`super().__init__()`,就会引发这个异常。
正确的用法通常是这样的:
```python
class ChildClass(ParentClass):
def __init__(self, arg1, arg2):
super().__init__(arg1) # 如果只有一个参数,传入这个参数
self.arg2 = arg2
```
如果ChildClass继承自多个父类,你需要传入第二个参数指向确切的父类:
```python
class GrandchildClass(FatherClass, MotherClass):
def __init__(self, grandparent_arg, *args, **kwargs):
super(GrandfatherClass, self).__init__(grandparent_arg)
super(MotherClass, self).__init__(*args, **kwargs) # 或者根据实际父类顺序
```
阅读全文