Python類(lèi)中的單繼承和多繼承用法

本篇內(nèi)容主要講解“Python類(lèi)中的單繼承和多繼承用法”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“Python類(lèi)中的單繼承和多繼承用法”吧!

成都創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),靈璧企業(yè)網(wǎng)站建設(shè),靈璧品牌網(wǎng)站建設(shè),網(wǎng)站定制,靈璧網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷(xiāo),網(wǎng)絡(luò)優(yōu)化,靈璧網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M(mǎn)足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專(zhuān)業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶(hù)成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

前言

Python面向?qū)ο缶幊陶Z(yǔ)言,有List、Str、Dict、Tuple等數(shù)據(jù)類(lèi)型,這些數(shù)據(jù)類(lèi)型也是對(duì)象,比如List類(lèi)可以有count方法,我們可以通過(guò)count方法統(tǒng)計(jì)列表中各個(gè)元素的數(shù)量。

我們可以簡(jiǎn)單的將定義類(lèi)理解成就是定義數(shù)據(jù)結(jié)構(gòu),同時(shí)給這種數(shù)據(jù)結(jié)構(gòu)制定一些獨(dú)特的屬性或者方法。我們先看最簡(jiǎn)單的類(lèi),在這里我們定義了Point類(lèi)

#為了顯示多個(gè)調(diào)用的變量from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = 'all'class Point(object):
    def __init__(self, x=0, y=0):        self.x = x        self.y = y    def String(self):        #顯示Point的信息
        return "{X:" +  str(self.x) + ", Y:" + str(self.y) + "}"

調(diào)用類(lèi)之前我們要實(shí)例化,這個(gè)可以理解成神筆馬良畫(huà)的畫(huà),如果不將其搞活,永遠(yuǎn)是畫(huà)。通過(guò)實(shí)例化,調(diào)用實(shí)例,畫(huà)中對(duì)象就活了。

#實(shí)例化Point類(lèi)point = Point(x=3, y=4)#顯示point對(duì)象point 
#顯示point的String方法point.String()

代碼運(yùn)行結(jié)果

<__main__.Point at 0x10d98ec18>'{X:3, Y:4}'

看個(gè)人簡(jiǎn)介

單繼承

只是繼承了 一個(gè) 基類(lèi) ?,F(xiàn)在我們定義一個(gè)Circle類(lèi), 圓是由圓心和半徑?jīng)Q定的,所以Circle會(huì)繼承并使用Point的一些特性。

class Circle(Point):
    def __init__(self, x=0, y=0, radius=0):        #Circle繼承并使用Point的__init__函數(shù)
        Point.__init__(self, x, y) 
         #不同于Point的參數(shù)radius
        self.radius = radius      
    def String(self):        #顯示Circle的信息
        return Point.String(self) + ", {Radius:" + str(self.radius) + "}"

現(xiàn)在我們看看Circle

#實(shí)例化Circle類(lèi)circle = Circle(x=3, y=2, radius=5)#顯示circle對(duì)象信息circle#顯示circle的String方法circle.String()

代碼運(yùn)行結(jié)果

<__main__.Circle at 0x10d911c18>'{X:3, Y:2}, {Radius:5}'
多繼承

多繼承,顧名思義就是某個(gè)類(lèi)繼承了多個(gè)父類(lèi)(基類(lèi))

class Size(object):
    def __init__(self, width, height):        self.width = width        self.height = height    def String(self):        return "{Width: " + str(self.width) + ", Height: " + str(self.height) + "}"

繼續(xù)

#實(shí)例化Size對(duì)象size = Size(width=5, height=3)
size
size.String()

運(yùn)行結(jié)果

<__main__.Size at 0x10d97e828>'{Width: 5, Height: 3}'

現(xiàn)在已經(jīng)有了Point、Size類(lèi),以及每個(gè)類(lèi)中的String()方法。現(xiàn)在想構(gòu)建 正四方形Rectangle類(lèi)。為了讓Rectangle具有Point和Size的一些特性,需要讓Rectangle繼承Point和Size的一些特有的方法。

class Rectangle(Point, Size):
    def __init__(self, x, y, width, height):        #讓Rectangle使用Point中的init方法,使得Rectangle本身含有x和y屬性值
        Point.__init__(self, x, y)        #讓Rectangle使用Size中的init方法,使得Size本身含有width和height屬性值
        Size.__init__(self, width, height)    def String(self):        return "Rectangle's init point is " + Point.String(self) + "; Size is " + Size.String(self)

Rectangle 繼承了 Point 和 Size 兩個(gè)類(lèi),使得Rectangle不用定義 x、y、width、height。而且 Rectangle的String方法 可以直接調(diào)用 Point和Size對(duì)象的String方法。

#實(shí)例化Rectanglerect = Rectangle(x=0, 
                 y=0, 
                 width=5, 
                 height=3)#調(diào)用rectrect#顯示其方法rect.String()

運(yùn)行結(jié)果

<__main__.Rectangle at 0x10d978390>"Rectangle's init point is {X:0, Y:0}; Size is {Width: 5, Height: 3}"

到此,相信大家對(duì)“Python類(lèi)中的單繼承和多繼承用法”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢(xún),關(guān)注我們,繼續(xù)學(xué)習(xí)!

分享文章:Python類(lèi)中的單繼承和多繼承用法
分享路徑:http://bm7419.com/article10/pcgcdo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、App開(kāi)發(fā)、軟件開(kāi)發(fā)網(wǎng)站排名、用戶(hù)體驗(yàn)、網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)