您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“python面向?qū)ο缶幊坛S妹~有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“python面向?qū)ο缶幊坛S妹~有哪些”吧!
面向?qū)ο缶幊痰暮诵氖菍?duì)象,即某一可有屬性、動(dòng)作的復(fù)雜事物。面向?qū)ο缶幊虄?yōu)先考慮對(duì)象和需要達(dá)到的結(jié)果,不重點(diǎn)關(guān)注流程。
面向?qū)ο缶幊痰膬?yōu)點(diǎn)是程序的可維護(hù)高和擴(kuò)展性強(qiáng),采用面向?qū)ο缶幊炭梢源蠓岣邎F(tuán)隊(duì)開發(fā)效率,在需求變化快的場(chǎng)景面向?qū)ο缶幊虘?yīng)對(duì)需求變化更容易和方便。
面向?qū)ο缶幊痰娜秉c(diǎn)是可控性差,無法精準(zhǔn)預(yù)測(cè)問題的處理流程和結(jié)果。
類:具有某些類似特征的一類事物(如動(dòng)物、植物等),類是模板,是抽象概念。
對(duì)象(實(shí)例):具體的某一事物(如那只流浪貓、這只寵物狗),對(duì)象是具體的事物,是抽象概念的具現(xiàn)。
實(shí)例化:根據(jù)類創(chuàng)建具體對(duì)象的過程。
class 類名(父類):'''說明文檔'''類體
其中(父類)可缺省,缺省父類是object,可以把object理解為類的祖先。
class語句下一行三引號(hào)開頭和三引號(hào)結(jié)束中的內(nèi)容為類的說明文檔。
說明文檔下一行即為類的正式內(nèi)容,即類體。
類體中主要內(nèi)容有2種,一是屬性、二是函數(shù)。
例如:
class Animal:kind = 'all animals'def eat(self):print('The animal is eating!')print(Animal.kind)Animal.eat(Animal)out:all animals The animal is eating!
以上案例中kind是屬性,eat是函數(shù)。
注意eat比較特殊,如果用類名.eat調(diào)用時(shí)它是函數(shù),用對(duì)象.eat調(diào)用時(shí)它是方法。
類名加括號(hào)就是實(shí)例化,會(huì)自動(dòng)觸發(fā)__init__函數(shù)的運(yùn)行,它會(huì)根據(jù)參數(shù)為每個(gè)實(shí)例定制自己的特征。
white_cat = Animal()print(white_cat.kind)white_cat.eat()out:all animals The animal is eating!
注意:實(shí)例化時(shí)會(huì)找該類的__init__函數(shù),若該類無此函數(shù),那么會(huì)找它父類的__init__函數(shù),父類若沒有會(huì)繼續(xù)向上找祖父類__init__函數(shù),直至找到object類中的空__init__函數(shù)。
學(xué)python時(shí)經(jīng)常會(huì)有人搞不清楚函數(shù)和方法的區(qū)別。在此通過案例來搞清楚它們的區(qū)別。
from types import FunctionType, MethodTypeclass Animal:kind = 'all animals'def eat(self):print('The animal is eating!')white_cat = Animal()print(isinstance(Animal.eat, FunctionType)) # 判斷Animal.eat是不是函數(shù)print(isinstance(white_cat.eat, FunctionType)) # 判斷white_cat.eat是不是函數(shù)print(isinstance(Animal.eat, MethodType)) # 判斷Animal.eat是不是方法print(isinstance(white_cat.eat, MethodType)) # 判斷white_cat.eat是不是方法out:TrueFalseFalseTrue
通過以上案例得出結(jié)論:
類.變量名()調(diào)用時(shí),該變量名是函數(shù)。
變量名()調(diào)用時(shí),該變量名是函數(shù)。
實(shí)例.變量名()調(diào)用時(shí),該變量名是方法。
到此,相信大家對(duì)“python面向?qū)ο缶幊坛S妹~有哪些”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。