新聞中心
我們講過(guò)了一些子類(lèi)繼承父類(lèi)的案例,不過(guò)有的小伙伴跟小編反映分不清子類(lèi)和父類(lèi),用的時(shí)候容易出錯(cuò)。小編看了一下,確實(shí)容易混淆,還是要明確兩者的關(guān)系。為此小編整理了一些子類(lèi)和父類(lèi)關(guān)系對(duì)比的示例,希望小伙伴們能在運(yùn)行代碼的過(guò)程中,找到兩者明確的區(qū)別。

公司主營(yíng)業(yè)務(wù):成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶(hù)真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶(hù)帶來(lái)驚喜。成都創(chuàng)新互聯(lián)公司推出長(zhǎng)春免費(fèi)做網(wǎng)站回饋大家。
先來(lái)看一段代碼:
class Animal(object): pass class Cat(Animal): pass A= Animal() C = Cat()
子類(lèi)與父類(lèi)的關(guān)系是 “is” 的關(guān)系,如上 Cat 繼承于 Animal 類(lèi),我們可以說(shuō):
“A”是 Animal 類(lèi)的實(shí)例,但,“A”不是 Cat 類(lèi)的實(shí)例。
“C”是 Animal 類(lèi)的實(shí)例,“C”也是 Cat 類(lèi)的實(shí)例。
判斷對(duì)象之間的關(guān)系,我們可以通過(guò) isinstance (變量,類(lèi)型) 來(lái)進(jìn)行判斷:
print('"A" IS Animal?', isinstance(A, Animal))
print('"A" IS Cat?', isinstance(A, Cat))
print('"C" IS Animal?', isinstance(C, Animal))
print('"C" IS Cat?', isinstance(C, Cat))
輸出結(jié)果:
"A" IS Animal? True "A" IS Cat? False "C" IS Animal? True "C" IS Cat? True
拓展:isinstance() 判斷變量類(lèi)型
函數(shù) isinstance() 不止可以用在我們自定義的類(lèi),也可以判斷一個(gè)變量的類(lèi)型,如判斷數(shù)據(jù)類(lèi)型是否為 int、str、list、dict 等。
print(isinstance('100', int))
print(isinstance(100, str))
print(isinstance('100', str))
輸出:
True False False True
相信看了以上的示例,小伙伴能夠明確子類(lèi)與父類(lèi)的關(guān)系了,小編也為大家開(kāi)心。這樣下次在子類(lèi)繼承父類(lèi)的時(shí)候,小伙伴們也不會(huì)弄錯(cuò),分不清兩者的關(guān)系。
標(biāo)題名稱(chēng):創(chuàng)新互聯(lián)Python教程:如何理解Python3中的子類(lèi)和父類(lèi)?
轉(zhuǎn)載來(lái)于:http://m.fisionsoft.com.cn/article/dhigdid.html


咨詢(xún)
建站咨詢(xún)
