新聞中心
繼承

創(chuàng)新互聯(lián)2013年開創(chuàng)至今,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目成都網(wǎng)站設(shè)計、成都網(wǎng)站制作網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元新津縣做網(wǎng)站,已為上家服務(wù),為新津縣各地企業(yè)和個人服務(wù),聯(lián)系電話:18980820575
在Python中,同時支持單繼承與多繼承,一般語法如下:
class SubClassName(ParentClass1 [, ParentClass2, ...]): class_suite
實現(xiàn)繼承之后,子類將繼承父類的屬性,也可以使用內(nèi)建函數(shù)insubclass()來判斷一個類是不是另一個類的子孫類:
class Parent(object):
'''
parent class
'''
numList = []
def numdiff(self, a, b):
return a-b
class Child(Parent):
pass
c = Child()
# subclass will inherit attributes from parent class
#子類繼承父類的屬性
Child.numList.extend(range(10))
print(Child.numList)
print("77 - 2 =", c.numdiff(77, 2))
# built-in function issubclass()
print(issubclass(Child, Parent))
print(issubclass(Child, object))
# __bases__ can show all the parent classes
#bases屬性查看父類
print('the bases are:',Child.__bases__)
# doc string will not be inherited
#doc屬性不會被繼承
print(Parent.__doc__)
print(Child.__doc__)例子中唯一特別的地方是文檔字符串。文檔字符串對于類,函數(shù)/方法,以及模塊來說是唯一的,也就是說doc屬性是不能從父類中繼承來的。
繼承中的_ _init_ _
當(dāng)在Python中出現(xiàn)繼承的情況時,一定要注意初始化函數(shù)_init_的行為:
如果子類沒有定義自己的初始化函數(shù),父類的初始化函數(shù)會被默認調(diào)用;但是如果要實例化子類的對象,則只能傳入父類的初始化函數(shù)對應(yīng)的參數(shù),否則會出錯。
如果子類定義了自己的初始化函數(shù),而在子類中沒有顯示調(diào)用父類的初始化函數(shù),則父類的屬性不會被初始化
如果子類定義了自己的初始化函數(shù),在子類中顯示調(diào)用父類,子類和父類的屬性都會被初始化。
更多學(xué)習(xí)內(nèi)容,請點擊python學(xué)習(xí)網(wǎng)。
網(wǎng)站名稱:創(chuàng)新互聯(lián)Python教程:python繼承是如何實現(xiàn)的
標(biāo)題來源:http://m.fisionsoft.com.cn/article/djshicd.html


咨詢
建站咨詢
