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

首頁 > 編程 > Python > 正文

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

2020-02-23 04:10: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__方法的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 全州县| 东阿县| 永济市| 安远县| 三河市| 常州市| 洪雅县| 佛教| 鹤庆县| 金寨县| 北票市| 呈贡县| 乌兰浩特市| 云浮市| 平南县| 宜昌市| 万载县| 庆阳市| 滕州市| 温宿县| 略阳县| 遵义市| 揭东县| 垦利县| 阳原县| 神池县| 宜丰县| 杨浦区| 抚州市| 易门县| 屏南县| 通城县| 阿拉善左旗| 宜阳县| 蒙自县| 监利县| 龙岩市| 达日县| 奉节县| 九龙城区| 当雄县|