python3.6 子类的__init__调用父类的__init__

Posted 糖宝虫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3.6 子类的__init__调用父类的__init__相关的知识,希望对你有一定的参考价值。

python3.6 子类的__init__调用父类的__init__

父类

class worker:
    def __init__(self):
        self.a=1
        self.b=2


if __name__=="__main__":
    worker()

子类

from test.test02 import worker

class workertet(worker):
    def __init__(self):
        worker.__init__(self)
        c = 3
        d = 4
        print(self.a)
        print(self.b)
        print(c)
        print(d)

    def test(self):
        print(self.a)
        print(self.b)


if __name__=="__main__":
    workertet()

 

输出:

C:\Users\lys-tbc\AppData\Local\Programs\Python\Python36\python.exe D:/pythonwakce/mysqltest/test/test03-init.py
1
2
3
4

Process finished with exit code 0

 

如此设计的原因是,在子类中需要获得超类的成员和方法,而通过在子类的__init__方法中调用超类的__init__方法,并手动给它传递指向子类的self值,可以使超类的__init__方法将所初始化的变量设置成子类的变量,这样,就可以在子类中直接访问超类的变量了





以上是关于python3.6 子类的__init__调用父类的__init__的主要内容,如果未能解决你的问题,请参考以下文章

Python3基础 super层层调用父类的__init__方法 子类的__init__覆盖了父类的__init__的解决方法

Python3基础 super 子类调用父类的__init__

Python3基础 super 子类调用父类的__init__

在父类,调用子类

Python中子类怎样调用父类方法

python 子类调用父类成员的方法