一区二区三区中文国产亚洲_另类视频区第一页_日韩精品免费视频_女人免费视频_国产综合精品久久亚洲

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > Python 抽象類(lèi)

Python 抽象類(lèi)

來(lái)源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-11-07 23:17:12 1699370232

1.什么是抽象類(lèi)

與java一樣,python也有抽象類(lèi)的概念但是同樣需要借助模塊實(shí)現(xiàn),抽象類(lèi)是一個(gè)特殊的類(lèi),它的特殊之處在于只能被繼承,不能被實(shí)例化

2.為什么要有抽象類(lèi)

如果說(shuō)類(lèi)是從一堆對(duì)象中抽取相同的內(nèi)容而來(lái)的,那么抽象類(lèi)就是從一堆類(lèi)中抽取相同的內(nèi)容而來(lái)的,內(nèi)容包括數(shù)據(jù)屬性和函數(shù)屬性。

比如我們有香蕉的類(lèi),有蘋(píng)果的類(lèi),有桃子的類(lèi),從這些類(lèi)抽取相同的內(nèi)容就是水果這個(gè)抽象的類(lèi),你吃水果時(shí),要么是吃一個(gè)具體的香蕉,要么是吃一個(gè)具體的桃子。。。。。。你永遠(yuǎn)無(wú)法吃到一個(gè)叫做水果的東西。

從設(shè)計(jì)角度去看,如果類(lèi)是從現(xiàn)實(shí)對(duì)象抽象而來(lái)的,那么抽象類(lèi)就是基于類(lèi)抽象而來(lái)的。

從實(shí)現(xiàn)角度來(lái)看,抽象類(lèi)與普通類(lèi)的不同之處在于:抽象類(lèi)中只能有抽象方法(沒(méi)有實(shí)現(xiàn)功能),該類(lèi)不能被實(shí)例化,只能被繼承,且子類(lèi)必須實(shí)現(xiàn)抽象方法。這一點(diǎn)與接口有點(diǎn)類(lèi)似,但其實(shí)是不同的。

  3.在python中實(shí)現(xiàn)抽象類(lèi)

#_*_coding:utf-8_*_

#一切皆文件

importabc#利用abc模塊實(shí)現(xiàn)抽象類(lèi)

classAll_file(metaclass=abc.ABCMeta):

all_type='file'

@abc.abstractmethod#定義抽象方法,無(wú)需實(shí)現(xiàn)功能

defread(self):

'子類(lèi)必須定義讀功能'

pass

@abc.abstractmethod#定義抽象方法,無(wú)需實(shí)現(xiàn)功能

defwrite(self):

'子類(lèi)必須定義寫(xiě)功能'

pass

#classTxt(All_file):

#pass

#

#t1=Txt()#報(bào)錯(cuò),子類(lèi)沒(méi)有定義抽象方法

classTxt(All_file):#子類(lèi)繼承抽象類(lèi),但是必須定義read和write方法

defread(self):

print('文本數(shù)據(jù)的讀取方法')

defwrite(self):

print('文本數(shù)據(jù)的讀取方法')

classSata(All_file):#子類(lèi)繼承抽象類(lèi),但是必須定義read和write方法

defread(self):

print('硬盤(pán)數(shù)據(jù)的讀取方法')

defwrite(self):

print('硬盤(pán)數(shù)據(jù)的讀取方法')

classProcess(All_file):#子類(lèi)繼承抽象類(lèi),但是必須定義read和write方法

defread(self):

print('進(jìn)程數(shù)據(jù)的讀取方法')

defwrite(self):

print('進(jìn)程數(shù)據(jù)的讀取方法')

wenbenwenjian=Txt()

yingpanwenjian=Sata()

jinchengwenjian=Process()

#這樣大家都是被歸一化了,也就是一切皆文件的思想

wenbenwenjian.read()

yingpanwenjian.write()

jinchengwenjian.read()

print(wenbenwenjian.all_type)

print(yingpanwenjian.all_type)

print(jinchengwenjian.all_type)

4.抽象類(lèi)與接口

抽象類(lèi)的本質(zhì)還是類(lèi),指的是一組類(lèi)的相似性,包括數(shù)據(jù)屬性(如all_type)和函數(shù)屬性(如read,write),而接口只強(qiáng)調(diào)函數(shù)屬性的相似性

抽象類(lèi)是一個(gè)介于類(lèi)和接口直接的一個(gè)概念,同時(shí)具備類(lèi)和接口的部分特性,可以用來(lái)實(shí)現(xiàn)歸一化設(shè)計(jì)

以上內(nèi)容為大家介紹了Python抽象類(lèi),希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專(zhuān)屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
Python NumPy

NumPy是Python語(yǔ)言的一個(gè)擴(kuò)充程序庫(kù)。支持高級(jí)大量的維度數(shù)組與矩陣運(yùn)算,此外也針對(duì)數(shù)組運(yùn)算提供大量的數(shù)學(xué)函數(shù)庫(kù)。Numpy內(nèi)部解除了CPython的G...詳情>>

2023-11-07 23:56:48
Python 面向?qū)ο蟮能浖_(kāi)發(fā)

很多人在學(xué)完了python的class機(jī)制之后,遇到一個(gè)生產(chǎn)中的問(wèn)題,還是會(huì)懵逼,這其實(shí)太正常了,因?yàn)槿魏纬绦虻拈_(kāi)發(fā)都是先設(shè)計(jì)后編程,python的cla...詳情>>

2023-11-07 23:20:48
Python 決策樹(shù)算法思想

決策樹(shù)(decisiontree)是一個(gè)樹(shù)結(jié)構(gòu)(可以是二叉樹(shù)或者非二叉樹(shù))。決策樹(shù)分為分類(lèi)樹(shù)和回歸樹(shù)兩種,分類(lèi)樹(shù)對(duì)離散變量做決策樹(shù),回歸樹(shù)對(duì)連續(xù)變量做...詳情>>

2023-11-07 23:10:00
Python C4.5算法

ID3算法的作者昆蘭基于上面的不足,對(duì)ID3算法做了改進(jìn),這就是C4.5算法,也許你會(huì)問(wèn),為什么不叫ID4,ID5之類(lèi)的名字呢?那是因?yàn)闆Q策樹(shù)當(dāng)時(shí)太火...詳情>>

2023-11-07 23:02:48
Python 面向過(guò)程

python面向過(guò)程優(yōu)點(diǎn):復(fù)雜的問(wèn)題流程化,進(jìn)而簡(jiǎn)單化(一個(gè)復(fù)雜的問(wèn)題,分成一個(gè)個(gè)小的步驟去實(shí)現(xiàn),實(shí)現(xiàn)小的步驟將會(huì)非常簡(jiǎn)單)舉個(gè)典型的面向過(guò)程...詳情>>

2023-11-07 22:55:36