這是類的繼承問題。先說(shuō)一下,對(duì)于python來(lái)說(shuō)定義函數(shù)要用def來(lái)定義,沒有這個(gè)關(guān)鍵字無(wú)法定義函數(shù)。
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供義縣網(wǎng)站建設(shè)、義縣做網(wǎng)站、義縣網(wǎng)站設(shè)計(jì)、義縣網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、義縣企業(yè)網(wǎng)站模板建站服務(wù),10多年義縣做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
然后通常,如果父類中有調(diào)用self.a,那么這個(gè)就是類的屬性,也就是說(shuō),子類中自然存在。直接在子類中直接調(diào)用即可,如果在父類中只定義了一個(gè)局部變量,那么子類是獲取不到的。不過(guò)可以定義類方法,直接調(diào)用類方法獲取你想要的值。
方法1.
class?A:
def?get_A(self):
self.a=1
print(self.a)
class?B(A):
def?get_B(self):#self不是python關(guān)鍵字,建議類方法用self作為第一個(gè)參數(shù)
self.get_A()
if?__name__?==?'__main__':
b?=?B()
b.get_B()
#方法2
class?A:
@classmethod
def?get_A(cls):
a=1
return?a
class?B(A):
def?get_B(self):#self不是python關(guān)鍵字,建議類方法用self作為第一個(gè)參數(shù)
print(A.get_A())
if?__name__?==?'__main__':
b?=?B()
b.get_B()
class?ax:
def?bx(self):???#函數(shù)定義要有括號(hào),類方法最少要有一個(gè)參數(shù)
print?'我出來(lái)了'
class?cx(ax):
xxx='ssss'
dx=cx()???#生成類實(shí)例要有括號(hào)
dx.bx()
子類繼承父類時(shí),如果父類有需要初始化的屬性,那么必須在子類中調(diào)用父類的初始化方法,幫助父類進(jìn)行初始化,否則,子類可以不調(diào)用父類的初始化方法
代碼示例
"""
父類Car中沒有屬性需要初始化,所有子類中也不需要調(diào)用父類的初始化方法
"""
class?Car:
def?show_name(self):
print('car?name')
class?EeleCar(Car):
pass
car?=?EeleCar()
car.show_name()
網(wǎng)站名稱:python父類函數(shù) python父子類
鏈接地址:http://muchs.cn/article18/dospsdp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、App設(shè)計(jì)、營(yíng)銷型網(wǎng)站建設(shè)、搜索引擎優(yōu)化、全網(wǎng)營(yíng)銷推廣、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容