新聞中心
Python中如何使具有相同父類中的兩個子類之間進(jìn)行方法調(diào)用
子類調(diào)用父類函數(shù)有以下方法:
目前成都創(chuàng)新互聯(lián)已為上千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機(jī)、綿陽服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計、臨沂網(wǎng)站維護(hù)等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
直接寫類名調(diào)用
用 super(type, obj).method(arg)方法調(diào)用。
在類定義中調(diào)用本類的父類方法,可以直接用super().method(arg)
class A:
def method(self, arg):
pass
class B(A):
def method(self, arg):
# A.method(self,arg) # 1
# super(B, self).method(arg) # 2
super().method(arg) # 3
python程序的問題,兩個平行子類的相互調(diào)用
既然"Demo類當(dāng)中又調(diào)用了Quitter",自然Quitter(self)中self是指Demo對象自身。
運(yùn)行時會調(diào)用Quitter的構(gòu)造方法def __init__(self, parent=None),此時注意剛剛傳入的Demo對象會賦給parent變量(注意不是self變量,而是第二個變量parent,因為python class方法的第一個參數(shù)都是self,用于指代該類自身對象而非傳入?yún)?shù))
這種設(shè)計潛在含義是:Demo是父,Quitter是Demo的子。由父調(diào)用子,并把自身以參數(shù)形式傳給子。
python 如何調(diào)用子類中的方法呢?
別人的是多態(tài),也就是大家都從一個接口繼承,然后子類對象可以當(dāng)父類用,你這個父類都不知道誰繼承了它,怎么調(diào)用子類方法?你這個思路不太對勁的。
Python程序中調(diào)用子類時直接修改父類的屬性
在學(xué)習(xí)類的繼承時,被“在子類中調(diào)用和修改父類的屬性”卡住了。通過在網(wǎng)上查閱資料,大致搞明白了。主要有以下三點:
1. 子類的 __init__ 方法中通過“ 父類名.__init__(self) ”語句將父類的屬性繼承過來,見下面示例中標(biāo)注“#例2”處。
2. 如果要在程序中調(diào)用子類時直接通過參數(shù)的形式修改父類繼承過來的屬性,那么子類的 __init__ 方法中需要在self后面跟上要賦值的參數(shù),見下面示例中標(biāo)注“#例1”處。
3. 即使是通過“ 父類名.__init__(self) ”語句繼續(xù)過來的父類的屬性,也需要在子類的 __init__ 方法中使用 self.變量名=變量值 的方式進(jìn)行賦值,否則在子類中無法引用變量,見下面示例中標(biāo)注“#例3”和“#例4”處。
執(zhí)行結(jié)果:
從以上執(zhí)行結(jié)果看,我們通過 y=b(4,5) 方式直接調(diào)用子類并給出參數(shù)“4,5”,而使用 y.myprint 調(diào)用了父類的方法,最后的計算結(jié)果是根據(jù)子類的參數(shù)計算得出的。說明我們在調(diào)用子類時直接修改了父類aa和bb的屬性。
Python子類調(diào)用父類方法或子類定義的方法輸出會多出個'None'
這是類的繼承問題。先說一下,對于python來說定義函數(shù)要用def來定義,沒有這個關(guān)鍵字無法定義函數(shù)。
然后通常,如果父類中有調(diào)用self.a,那么這個就是類的屬性,也就是說,子類中自然存在。直接在子類中直接調(diào)用即可,如果在父類中只定義了一個局部變量,那么子類是獲取不到的。不過可以定義類方法,直接調(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作為第一個參數(shù) self.get_A()if __name__ == '__main__':b = B()b.get_B()
文章標(biāo)題:python調(diào)用子類函數(shù),怎么調(diào)用子類中的函數(shù)
文章地址:http://fisionsoft.com.cn/article/dsshocp.html