标准的解析如下,这是对继承自父类的属性进行初始化。而且是用父类的初始化方法来初始化继承的属性。也就是说,子类继承了父类的所有属性和方法,父类属性自然会用父类方法来进行初始化。
super(x,self).init()含义(单继承,即只有一个父类)在下面的代码中加入super(x,self).init()时调用son的父类farther的属性和方法(方法里对farther数据进行二次操作)
class farther(object):
def __init__(self):
self.x = '这是属性'
def fun(self):
print(self.x)
print('这是方法')
class son(farther):
def __init__(self):
super(son,self).__init__()
print('实例化执行')
test = son()
test.fun()
test.x
输出
实例化执行
这是属性
这是方法
如果没有super(x,self).init(),则输出为
AttributeError: 'son' object has no attribute 'x'
则son类不能继承父类的方法和参数。