Super() 在子类中的用途是什么,即使我们没有传递任何参数


class Base(object):
def __init__(self):
self.fname="MS"
self.lname="Dhoni"

class Child(Base):
def __init__(self):
self.fname="kohli"
super(Base).__init__()

上面的代码中使用超级方法是什么,甚至在我得到输出kohli注释super(Base).__init__()请解释一下

您正在调用super(Base),这意味着Base类的父级是类object,因此您没有调用Base.__init__方法,这意味着不会重新分配保留kohlifname


您想要的是Child类的父级,具有当前实例self

super(Child, self).__init__()

但实际上你可以做到以下几点,是一样的

super().__init__()

最新更新