网上资料基本上关于这个错误都是__init__函数写错了导致的,例如:少了个下划线或者写成了int。检查了半天,自己都不是这些问题。后来发现是子类调用父类初始化是super导致的,子类的super调用直接必须使用子类本身的名称,super(Child, self).__ init __(name)。如果写成super(Parent, self).init(name),就会出现上述问题。
class Parent():
def __init__(self, name)
self.name = name
class Child(Parent):
def __init__(self, name):
super(Child, self).__init__(name)
pass
本文探讨了Python中子类调用父类初始化方法时常见的错误,并提供了正确的super()调用方式,避免因调用不当导致的TypeError。通过具体代码示例,详细解释了如何正确地在子类中使用super()函数。

1359

被折叠的 条评论
为什么被折叠?



