如果子類定義了自己的__init__構造方法函數,當子類的實例對象被創建時,子類只會執行自己的__init__方法函數,如果子類未定義自己的構造方法函數,會沿著搜索樹找到父類的構造方法函數去執行父類裡的構造方法函數。 如子類定義了自己的構造方法函數,如果子類的構造方法函數內沒有主動調用父類的構造方法函數,那父類的實例變量在子類不會在剛剛創建子類實例對象時出現了。
class aa:
def __init__(self):
self.x = 10
self.y = 12
def hello(self, x):
return x + 1
class bb(aa):
def __init__(self):
aa.__init__(self) #如果注銷此行,下邊打印b.x和b.y將報錯,未定義
#通過類名字調用父類的構造方法函數
self.z = 14
a = aa()
print a.x, a.y
b = bb()
print b.x, b.y
推薦閱讀:
《Python開發技術詳解》.( 周偉,宗傑).[高清PDF掃描版+隨書視頻+代碼] http://www.linuxidc.com/Linux/2013-11/92693.htm
Python腳本獲取Linux系統信息 http://www.linuxidc.com/Linux/2013-08/88531.htm
Python 的詳細介紹:請點這裡
Python 的下載地址:請點這裡