国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python中子類繼承父類的__init__方法實例

2019-11-25 16:27:06
字體:
來源:轉載
供稿:網友

前言

使用Python寫過面向對象的代碼的同學,可能對 __init__ 方法已經非常熟悉了,__init__方法在類的一個對象被建立時,馬上運行。這個方法可以用來對你的對象做一些你希望的 初始化 。

注意:這個名稱的開始和結尾都是雙下劃線。

父類A

class A(object): def __init__(self, name):  self.name=name  print "name:", self.name def getName(self):  return 'A ' + self.name

子類不重寫__init__ , 實例化子類時,會自動調用父類定義的__init__

class B(A): def getName(self):  return 'B '+self.name if __name__=='__main__': b=B('hello') print b.getName()

執行

$python lei2.py name: helloB hello

但重寫了__init__時,實例化子類,就不會調用父類已經定義的__init__

class A(object): def __init__(self, name):  self.name=name  print "name:", self.name def getName(self):  return 'A ' + self.nameclass B(A): def __init__(self, name):  print "hi"  self.name = name def getName(self):  return 'B '+self.nameif __name__=='__main__': b=B('hello') print b.getName()

執行

$python lei2.py hiB hello

為了能使用或擴展父類的行為,最好顯示調用父類的__init__方法

class A(object): def __init__(self, name):  self.name=name  print "name:", self.name def getName(self):  return 'A ' + self.nameclass B(A): def __init__(self, name):  super(B, self).__init__(name)  print "hi"  self.name = name def getName(self):  return 'B '+self.nameif __name__=='__main__': b=B('hello') print b.getName()

執行

$python lei2.pyname: hellohiB hello

總結

以上就是關于python子類繼承父類的__init__方法的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 三亚市| 比如县| 泸水县| 紫阳县| 泗水县| 吴桥县| 沂水县| 资中县| 南宫市| 双城市| 灵台县| 南京市| 大港区| 上蔡县| 兴安盟| 兴隆县| 云浮市| 改则县| 巨鹿县| 珠海市| 班玛县| 武川县| 汤阴县| 涪陵区| 天等县| 郯城县| 嫩江县| 高阳县| 福泉市| 永城市| 阳曲县| 彭州市| 西盟| 兴业县| 杭锦旗| 常山县| 新建县| 许昌市| 大庆市| 西乡县| 乐至县|