Python super() 函数

2021-06-10 15:04

阅读:700

标签:child   color   div   usr   调用   继承   结果   mes   python   

super() 函数是用于调用父类(超类)的一个方法。

super() 是用来解决多重继承问题的,直接用类名调用父类方法在使用单继承的时候没问题,但是如果使用多继承,会涉及到查找顺序(MRO)、重复调用(钻石继承)等种种问题。

实例:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
class FooParent(object):
    def __init__(self):
        self.parent = I\‘m the parent.
        print (Parent)
    
    def bar(self,message):
        print ("%s from Parent" % message)
 
class FooChild(FooParent):
    def __init__(self):
        # super(FooChild,self) 首先找到 FooChild 的父类(就是类 FooParent),然后把类 FooChild 的对象转换为类 FooParent 的对象
        super(FooChild,self).__init__()    
        print (Child)
        
    def bar(self,message):
        super(FooChild, self).bar(message)
        print (Child bar fuction)
        print (self.parent)
 
if __name__ == __main__:
    fooChild = FooChild()
    fooChild.bar(HelloWorld)
执行结果:

Parent
Child
HelloWorld from Parent
Child bar fuction
Im the parent.

 

Python super() 函数

标签:child   color   div   usr   调用   继承   结果   mes   python   

原文地址:https://www.cnblogs.com/zhangly2020/p/14249251.html


评论


亲,登录后才可以留言!