zl程序教程

您现在的位置是:首页 >  其它

当前栏目

为什么通常在类的init函数下一行写super().__init__()?

函数 为什么 __ 一行 init Super 通常
2023-09-14 09:06:08 时间

==>就是执行父类的构造函数,使得我们能够调用父类的属性

我们通常看到 :

那么这一行代码的意义是什么呢?

实例:

class Root(object):
    def __init__(self):
        self.x = '这是属性'

    def fun(self):
        print('这是方法')


class A(Root): # A 继承 Root
    def __init__(self):
        super(A,self).__init__()
        print('实例化执行')


test = A()  # 实例化类, 当实例化时,自动调用该类的__init__方法,其他的方法不会被调用
test.fun()  # 调用方法

print(test.x)  # 调用属性

此时A已经成功继承了父类的属性,所以super().__init__()的作用也就显而易见了,就是执行父类的构造函数,使得我们能够调用父类的属性

Python super().__init__()测试及理解_红鲤鱼与彩虹的博客-CSDN博客_python3 super().__init__()