【Python】Python 子类继承父类构造函数说明
admin
2024-02-03 17:13:45

Python中子类继承父类的构造方法,有以下三种情况

  1. 子类需要自动调用父类的方法,这种情况下,子类不重写__init__()方法,实例化子类后,会自动调用父类的__init__()的方法。
    class Father(object):def __init__(self, name):self.name=nameprint ( "name: %s" %( self.name) )def getName(self):return 'Father ' + self.nameclass Son(Father):def getName(self):return 'Son '+self.nameif __name__=='__main__':son=Son('runoob')print ( son.getName() )
    
     输出结果
    
    name: runoob
    Son runoob
    
  2. 子类不需要自动调用父类的方法子类重写__init__()方法,实例化子类后,将不会自动调用父类的__init__()的方法。
    class Father(object):def __init__(self, name):self.name=nameprint ( "name: %s" %( self.name) )def getName(self):return 'Father ' + self.nameclass Son(Father):def __init__(self, name):print ( "hi" )self.name =  namedef getName(self):return 'Son '+self.nameif __name__=='__main__':son=Son('runoob')print ( son.getName() )
    
    输出结果
    hi
    Son runoob
    
  3. 子类重写__init__()方法又需要调用父类的方法使用super关键词
    super(子类,self).__init__(参数1,参数2,....) 
    super().__init__(参数1, 参数2, ...) # python3新版本写法
    
    class Father(object):def __init__(self, name):self.name=nameprint ( "name: %s" %( self.name))def getName(self):return 'Father ' + self.nameclass Son(Father):def __init__(self, name):super(Son, self).__init__(name)print ("hi")self.name =  namedef getName(self):return 'Son '+self.nameif __name__=='__main__':son=Son('runoob')print ( son.getName() )
    
    输出结果
    name: runoob
    hi
    Son runoob
    

相关内容

热门资讯

国家烟草专卖局:防范化解电子烟... 转自:财联社【国家烟草专卖局:防范化解电子烟过剩产能风险 逐步淘汰落后产线并核减相应产能】财联社12...
“工会+检察”推动算法合理化,... 12月25日上午,中华全国总工会与最高人民法院、最高人民检察院联合发布2025年劳动法律监督“一函两...
共绘财富管理新蓝图!2025青... 黄海潮涌,风云际会,“财富青岛”再度汇聚全球目光。12月26日,2025青岛财富论坛将在青岛举行。本...
破题产融循环,智创发展动能:2... 站在“十五五”规划开局的历史节点,青岛这座承载着国家财富管理改革使命的城市,正迎来新一轮发展命题:在...
内蒙古自治区人大环境与资源保护... 中新网12月25日电 据内蒙古自治区纪委监委消息:经内蒙古自治区党委批准,内蒙古自治区纪委监委对内蒙...