教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢/投訴熱線:400-618-4000

如何理解單繼承?單繼承的語(yǔ)法格式介紹

更新時(shí)間:2021年05月27日14時(shí)30分 來(lái)源:傳智教育 瀏覽次數(shù):

傳智教育-一樣的教育,不一樣的品質(zhì)

“龍生龍,鳳生鳳,老鼠的兒子會(huì)打洞”,這句話將動(dòng)物界中的繼承關(guān)系表現(xiàn)的淋漓盡致。在Python中,類(lèi)與類(lèi)之間也具有繼承關(guān)系,其中被繼承的類(lèi)稱(chēng)為父類(lèi)或基類(lèi),繼承的類(lèi)稱(chēng)為子類(lèi)或派生類(lèi)。子類(lèi)在繼承父類(lèi)時(shí),會(huì)自動(dòng)擁有父類(lèi)中的方法和屬性。

單繼承指的是子類(lèi)只繼承一個(gè)父類(lèi),其語(yǔ)法格式如下:

class 子類(lèi)(父類(lèi)):

定義一個(gè)表示兩棲動(dòng)物的父類(lèi)Amphibian和一個(gè)表示青蛙的子類(lèi)Frog,示例代碼如下:

class Amphibian:
    name = "兩棲動(dòng)物"    
    def features(self):
        print("幼年用鰓呼吸")
        print("成年用肺兼皮膚呼吸")class Frog(Amphibian):  # Frog類(lèi)繼承自Amphibian類(lèi)
    def attr(self):
        print(f"青蛙是{self.name}")
        print("我會(huì)呱呱叫")

上述代碼定義的Amphibian類(lèi)中包含類(lèi)屬性name與實(shí)例方法features(),F(xiàn)rog類(lèi)繼承Amphibian類(lèi)并定義了自己的方法attr()。


創(chuàng)建Frog類(lèi)的對(duì)象frog,使用frog對(duì)象分別調(diào)用Amphibian類(lèi)與Frog類(lèi)中的方法,示例代碼如下:

frog = Frog()                # 創(chuàng)建類(lèi)的實(shí)例化對(duì)象
print(frog.name)             # 訪問(wèn)父類(lèi)的屬性
frog.features()              # 使用父類(lèi)的方法
frog.attr()                  # 使用自身的方法

運(yùn)行程序,結(jié)果如下所示:

兩棲動(dòng)物
幼年用鰓呼吸。
成年用肺兼皮膚呼吸。
青蛙是兩棲動(dòng)物。
我會(huì)呱呱叫。

從輸出結(jié)果中可以看出,子類(lèi)繼承父類(lèi)之后,就擁有從父類(lèi)繼承的屬性和方法,它既可以調(diào)用自己的方法,又可以調(diào)用從父類(lèi)繼承的方法。

isinstance()函數(shù)與issubclass()函數(shù)

Python提供了兩個(gè)和繼承相關(guān)的函數(shù),分別是isinstance()函數(shù)和issubclass()函數(shù)。

isinstance(o,t)函數(shù)用于檢查對(duì)象的類(lèi)型,它有2個(gè)參數(shù),第1個(gè)參數(shù)是要判斷類(lèi)型的對(duì)象(o),第二個(gè)參數(shù)是類(lèi)型(t),如果o是t類(lèi)型的對(duì)象,則函數(shù)返回True,否則返回False。例如:

>>> isinstance(frog, Frog)
True

函數(shù)issubclass(cls, classinfo)用于檢查類(lèi)的繼承關(guān)系,它也有2個(gè)參數(shù),第一個(gè)參數(shù)是要判斷的子類(lèi)類(lèi)型(cls),第二個(gè)參數(shù)是要判斷的父類(lèi)類(lèi)型(classinfo),如果cls類(lèi)型是classinfo類(lèi)型的子類(lèi),則函數(shù)返回True,否則返回False。例如:

>>> issubclass(Frog, AmphAnimal)
True




猜你喜歡:

Python常見(jiàn)異常類(lèi)型詳細(xì)介紹

Mapper類(lèi)中的map()方法怎么用?

MySQL數(shù)據(jù)庫(kù)常用命令匯總【Python進(jìn)階教程】

python中for循環(huán)的用法|Pythonfor循環(huán)語(yǔ)句

傳智教育Python+大數(shù)據(jù)開(kāi)發(fā)培訓(xùn)

0 分享到:
和我們?cè)诰€交談!