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

什么是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://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)
欧美成人精品在线观看| 精品亚洲综合一区二区| 日韩在线中文字幕一区| 国产三级三级三级三级三级| 国产毛片一区二区三区二区| 亚洲成人精品久久久| 久视频这里只有精品99| 久久香蕉香蕉公开视频| 国产成人在线免费短视频| 国产一区999精品在线| 亚洲美腿丝袜综合在线| 九九九热在线观看视频| 国产精品欧美日韩精品| 九色综合狠狠综合久久| 四虎在线永久观看视频| 91精品手机在线观看| 日本免费一区二区三区的电影啊| 激情av一区二区不卡| 中文字幕人妻丝袜乱一区二区| 中文字幕人妻丝袜二区| 日韩精品在线观看视频一区二区三区 | 精品裸足人妻少妇二区三区| 99久在线观看精品视频| 91精品国内手机在线高清| 欧美日韩亚洲精品内裤| 国产高清毛片区1区二区三区| 亚洲精品视频一区二区| 日本高清视频免费一区| 女同一区二区三区在线| 99麻豆久久久精品国产| 欧美日韩综合人妻丝袜偷拍 | 欧美日在线观看加勒比| 国内精品自产拍久久久久久久久91| 亚洲精品成人久久网| 欧美黄片视频在线免费看| 蜜桃臀内射一区二区三区| 国产熟女乱免费一区二区| 日韩欧美麻豆不卡一区二区| 国产精品一区午夜福利| 色综合色综合色综合色| av中文字幕国产精品|