在SubClass的初始化方法中,首先调用了super().__init__(x)来调用父类的初始化方法,然后扩展了子类的初始化逻辑。 类图 下面是一个类图,展示了ParentClass和SubClass之间的关系: ParentClassx__init__(x)SubClassy__init__(x, y) 总结 在Python中,super()函数的init方法是用来调用父类的初始化方法的一个重...
ass=Zilei(1)#1/ 先执行super(Zilei, self).__init__(a,a+1),即执行A.__init__#所以输出print(self.b),即2#再执行self.prints() ,值得注意的是A.prints(),在子类zilei被重写,所以应该执行的是zilei.prints(),即输出:self.b:2#2/返回到zilei.__init__执行print('self.a:', self.a) 输出 se...
Python3.x 和 Python2.x 的一个区别: Python 3 可以使用直接使用 super().xxx 代替 super(Class, self).xxx : 1例:2python3 直接写成 : super().__init__()3python2 必须写成 :super(本类名,self).__init__() Python3.x 实例: 1classA:2def add(self, x):3y = x+14print(y)5classB(A...
2) __init函数(方法) 1、带有两个下划线开头的函数是声明该属性为私有,不能在类地外部被使用或直接访问。 2、init函数(方法)支持带参数的类的初始化,也可以为声明该类的属性 3、init函数(方法)的第一个参数必须是self(self为习惯用法,也可以用别的名字),后面的参数则可以自由定义,和定义函数没有任何区别。(...
首先,super().init()是一种更推荐的方式。它的作用是调用父类的初始化方法,确保父类中的属性和方法被正确地初始化。super()函数返回一个临时对象,该对象绑定到父类,然后调用该对象的init()方法。使用super().init()可以确保在子类中正确地调用父类的初始化方法,避免了因父类初始化不正确而导致的问题。例如,...
zone = zone super().__init__(name, mode, number) # 继承super class __init__属性 def desc(self): print( f'This is {self.name}_{self.mode}_{self.number} switch. made in {self.zone}') print(f'New feature: {self.l3protocol}') if __name__ == '__main__': ...
1、分别理解super()和 __ init __() 1.1、super() 需要注意的是python2、3的super写法稍有不同。 AI代码助手复制代码 1.2、__ init __() __init__() 是python中的构造函数,在创建对象的时"自动调用"。 定义类时可以不写init方法,系统会默认创建, ...
super(ElectricCar, self).__init__(make, model, year)my_car = ElectricCar('hongqi', 'X 110', 2030)print(my_car.get_descriptive_name())通过上述示例,我们可以看到`super().__init__()`在实现类继承和初始化时的正确用法。在Python中,正确使用`super()`不仅可以简化代码,还能确保...
__init__方法 一、引入 回顾上一节学习self时代码,如下 class Cat(object): def set_info(sel...
super().__init__(salary) # super(Manager, self).__init__(salary) 作用同上, # super调用父类的方法,由于继承了两个类,super根据mro顺序来确定调用哪个父类,子类继承写在前面的类 # 使用未绑定的方式调用Customer中的方法 Customer.__init__(self, favorite, address) ...