溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python面向?qū)ο缶幊坛S妹~有哪些

發(fā)布時(shí)間:2021-11-25 09:54:43 來源:億速云 閱讀:111 作者:iii 欄目:互聯(lián)網(wǎng)科技

本篇內(nèi)容主要講解“python面向?qū)ο缶幊坛S妹~有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“python面向?qū)ο缶幊坛S妹~有哪些”吧!

面向?qū)ο缶幊痰亩x

面向?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é)果。

面向?qū)ο缶幊坛S妹~

類:具有某些類似特征的一類事物(如動(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í)它是方法。

實(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ù)。

函數(shù)和方法的區(qū)別

學(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í)!

向AI問一下細(xì)節(jié)
AI