欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

什么是Python對(duì)象的繼承

什么是Python對(duì)象的繼承?針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。

成都創(chuàng)新互聯(lián)公司于2013年開(kāi)始,先為壺關(guān)等服務(wù)建站,壺關(guān)等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為壺關(guān)企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。

淺談python的對(duì)象的三大特性之繼承

前面我們定義了人的類,并用這個(gè)類實(shí)例化出兩個(gè)人jack和lily,查看了它們的內(nèi)存空間。

現(xiàn)在我們?cè)賮?lái)看看類中所存在的對(duì)向?qū)ο缶幊痰娜筇匦灾^承的一些特性。

前面定義了一個(gè)人的類,可是我們還知道,人都有屬于自己的職業(yè),比如說(shuō)老師類,醫(yī)生類,警察類等。

我們可以為每個(gè)職業(yè)都定義一個(gè)類,按照前面的定義,我們可以使用下面的代碼來(lái)實(shí)現(xiàn)。

定義一個(gè)老師類:

class Teacher:
    def __init__(self,name,age,sex,course):
        self.name=name
        self.age=age
        self.sex=sex
        self.course=course
    def walk(self):
        print("%s is walking slow"%self.name)
    def teach(self):
        print("%s is teaching"%self.name)

定義一個(gè)學(xué)生類:

class Student:
    def __init__(self,name,age,sex,group):
        self.name=name
        self.age=age
        self.sex=sex
        self.group=group
        
    def walk(self):
        print("%s is walking slow"%self.name)
        
    def study(self):
        print("%s is studying hard"%self.name)

我們可以看到teacher和student類中,有很多重復(fù)的代碼。它們都有人類所共有的name,age,sex等特征,以及有人類有的walk這個(gè)技能,那么我們就可以把人類共有的name,age,sex特征和walk技能抽離出來(lái),生成一個(gè)人的類,然后用老師和學(xué)生的類來(lái)繼承人的類的這些特征和技能,這樣可以避免寫(xiě)重復(fù)的代碼。

繼承關(guān)系是子類繼承父類,是類與類之間的關(guān)系

解決代碼重用的問(wèn)題,減少代碼冗余,這就是我們說(shuō)的類的三大特征之一的繼承。

把兩個(gè)或多個(gè)類中的共同點(diǎn)抽離出來(lái),生成一個(gè)新的類,也就是被繼承的類,我們稱之為父類
把從父類中繼承特征和技能的類稱為子類或基類

具體實(shí)現(xiàn)代碼如下:

我們先把老師和學(xué)生中所重復(fù)的代碼抽離出來(lái),生成一個(gè)人類:

class Person:
    def __init__(self,name,age,sex):
        self.name=name
        self.age=age
        self.sex=sex
        
    def walk(self):
        print("%s is walking slow"%self.name)

然后定義一個(gè)老師類,來(lái)繼承人的類的一個(gè)特征和技能:

class Teacher(Person):
    def __init__(self, name, age, sex, course):
        Person.__init__(self, name, age, sex)
        self.course = course
    def teach(self):
        print("%s is teaching" % self.name)

最后,再定義一個(gè)學(xué)生類,來(lái)繼承人的類的一些特征和技能:

class Student(Person):
    def __init__(self, name, age, sex,group):
        Person.__init__(self, name, age, sex)
        self.group = group
    def study(self):
        print("%s is studying hard" % self.name)

類定義好了,在通過(guò)把類實(shí)例化生成一個(gè)學(xué)生和一個(gè)老師

t1=Teacher("Jack",18,"male","python")
s1=Student("Tom",28,"female","group1")

就可以調(diào)用s1或t1的特征和技能了。

比如,我想知道學(xué)生的姓名和老師的年齡,就可以這樣做:

print(t1.age,s1.name)

輸出結(jié)果為:

18 Tom

調(diào)用老師t1的走路的技能:

t1.walk()

輸出為:

Jack is walking slow

調(diào)用老師t1的教書(shū)的技能:

t1.teach()

輸出為:

Jack is teaching

調(diào)用學(xué)生s1的走路的技能:

s1.walk()

輸出為:

Tom is walking slow

調(diào)用學(xué)生s1學(xué)習(xí)的技能:

s1.study()

輸出為:

Tom is studying hard

我們還可以使用下面的語(yǔ)句來(lái)查看子類Student所繼承的父類的名稱:

print(Student.__bases__)

得到結(jié)果如下:

(<class '__main__.Person'>,)

同樣的,打印子類Teacher的父類也會(huì)得到同樣的結(jié)果,顯示其父類為Person.

在上面的輸出中,可以看到輸出結(jié)果是一個(gè)元組。這樣的話,一個(gè)子類就可以繼承多個(gè)父類了。

查看子類的父類得到的結(jié)果是前面定義的Person類,那我們查看Person的類的話,會(huì)得到什么樣的結(jié)果呢?

print(Person.__bases__)

輸出為:

(<class 'object'>,)

其結(jié)果也是一個(gè)元組,但是這里出現(xiàn)了一個(gè)object,那么這個(gè)object又是什么東東?

事實(shí)上,在python3中,所有的類默認(rèn)都繼承object類。

在python中:

凡是繼承了object類的子類,以及該子類的子類都被為新式類;

沒(méi)有繼承object類的子類稱為經(jīng)典類.

所以python3中,所有的類都是新式類。

而在python2中,沒(méi)有繼承object的類,以及它的子類,通常稱為經(jīng)典類。

來(lái)看幾個(gè)例子:

這幾個(gè)例子,都是在python2的解釋器中運(yùn)行的:

>>> class Foo:
...     pass
... 
>>> Foo.__bases__
()
>>> class Bar(object):
...     pass
... 
>>> Bar.__bases__
(<type 'object'>,)

可以看到,F(xiàn)oo這個(gè)類是一個(gè)經(jīng)典類,而定義的第二個(gè)Bar類則是一個(gè)新式類。

在定義老師和學(xué)生類的時(shí)候,在類的名字后面要加上被繼承的類Person的名字,以告訴python解釋器,這里調(diào)用了類的繼承的特性。

關(guān)于什么是Python對(duì)象的繼承問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

網(wǎng)站欄目:什么是Python對(duì)象的繼承
本文網(wǎng)址:http://www.aaarwkj.com/article2/gjcooc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供、定制開(kāi)發(fā)、企業(yè)建站、標(biāo)簽優(yōu)化、網(wǎng)站維護(hù)、微信公眾號(hào)

廣告

聲明:本網(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)

網(wǎng)站托管運(yùn)營(yíng)
高清国产国产精品三级国产av| 开心久久婷婷综合中文字幕| 最新日本人妻中文字幕| 亚洲免费黄色大片网站| 在线国产丝袜自拍观看| 欧美日韩免费高清视视频| 欧美三级高清视频在线播放| 精品久久久久久久久无| 国产免费成人午夜免费视频| 日韩人妻高清精品专区| 日本在线高清精品人妻| 亚洲精品一区久久狠狠欧美| 国产剧情在线观看网站| 蜜桃视频在线中文字幕| 日韩精品一区二区三区欲色av| 欧美大吊视频在线观看| 性生活免费在线观看视频| 国产网爆热门精品一区二区| 午夜精品国产日韩欧美在线| 欧洲一区二区三区黄色| 人妖系列中文字幕欧美系列| 亚洲一区二区三区精品福利| 日韩av有码在线播放| 蜜臀av午夜福利在线观看| 亚洲品质自拍在线观看| 欧美内射专区精品一区| 国产婷婷色三区一区二区| 日韩欧美一区二区免费| 在线看片国产精品自拍| 亚洲一区二区另类视频| 伦理中文字幕一区二区| 亚洲一区二区视频在线观看免费| 日本一区中文字幕欧美| 国产一级二级三级久久| 中文字幕在线看精品乱码| 亚洲一区二区三区日本在线| 免费高清av中文字幕| 西西美女掰开阴让你看| 国产高清av免费观看| 亚洲国产专区一区二区麻豆| 免费视频观看在线一区二区三区|