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__
方法,这意味着不会重新分配保留kohli
的fname
您想要的是Child
类的父级,具有当前实例self
super(Child, self).__init__()
但实际上你可以做到以下几点,是一样的
super().__init__()