這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)Python面向?qū)ο缶幊?,文章?nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
作為一家“創(chuàng)意+整合+營銷”的成都網(wǎng)站建設(shè)機(jī)構(gòu),我們在業(yè)內(nèi)良好的客戶口碑。成都創(chuàng)新互聯(lián)提供從前期的網(wǎng)站品牌分析策劃、網(wǎng)站設(shè)計、網(wǎng)站設(shè)計制作、成都網(wǎng)站制作、創(chuàng)意表現(xiàn)、網(wǎng)頁制作、系統(tǒng)開發(fā)以及后續(xù)網(wǎng)站營銷運營等一系列服務(wù),幫助企業(yè)打造創(chuàng)新的互聯(lián)網(wǎng)品牌經(jīng)營模式與有效的網(wǎng)絡(luò)營銷方法,創(chuàng)造更大的價值。
面向?qū)ο缶幊?/strong>
面向過程編程:Procedure Oriented Programming,簡稱POP。在之前的介紹中,多是用面向過程的思想。面向過程的思想是一種是事件為中心的編程思想,即分析出解決問題所需的步驟,然后用函數(shù)把這寫步驟實現(xiàn),把大塊函數(shù)切成小塊函數(shù),并按順序調(diào)用。
面向?qū)ο缶幊蹋篛bject Oriented Programming,簡稱OOP。面向?qū)ο蟮乃枷刖褪且詫ο鬄橹行牡木幊趟枷?,程序的?zhí)行過程就是一系列信息在各個對象之間傳遞的過程。
什么是對象?在Python中,一切的數(shù)據(jù)類型都可視為對象,“萬物皆對象”。
類 Class
Class,類,是面向?qū)ο缶幊套钪匾母拍钪弧n愂浅橄蟮哪0?,而實例就是根?jù)類創(chuàng)建出來的對象。比如:
類 | 實例 |
---|---|
杯子 | 馬克杯、玻璃杯、高腳杯... |
動物 | 貓、狗、兔子... |
電器 | 冰箱、電視、空調(diào)... |
類的定義
在Python中,通過class關(guān)鍵字來定義一個類:
class Animal(object): pass
Animal是類名,類名一般以大寫字母開頭,后面( )表示該類從哪一類繼承,若沒有合適的繼承類,就用object,因為所有類都會繼承該類,繼承是面向?qū)ο蟮娜筇卣髦?,后面會介紹。
類的屬性
完成了類的定義之后,我們可以定義類的屬性,如:
class Animal(object): name = 'animal'
調(diào)用其屬性時,用“對象名.屬性名”的形式來調(diào)用,如:
>>>Animal.name animal
實例 Instance
Instance,實例,是面向?qū)ο缶幊套钪匾母拍钪?。實例就是根?jù)類創(chuàng)建出來的對象。事實上,面向?qū)ο缶幊叹褪菍Α邦悺焙汀皩嵗钡氖褂谩?/p>
實例的定義
有了類之后,就可以根據(jù)類來定義對應(yīng)的實例。
>>>dog = Animal()>>>dog <__main__.Animal object at 0x0000000001DB8780>
上面dog就是Animal的一個實例,后面的0x0000000001DB8780便是內(nèi)存地址。
實例的屬性
同樣的,我們可以定義實例的屬性
>>>dog.name = 'dog' >>>dog.name dog
由于類是實例的一個模板,一般而言,我們在定義類的時候就可以把對應(yīng)實例的屬性給綁定上去。這需要在類里面定義一個__init__方法(方法類似于函數(shù),在后面會介紹),如
class Animal(object): name = 'animal' def __init__(self,name,age): self.name = name self.age = age
注意到__init__方法的第一個參數(shù)永遠(yuǎn)是self,表示創(chuàng)建實例本身,self就是指向?qū)嵗?,隨后加入需要的參數(shù)。這樣在創(chuàng)建實例時就要輸入對應(yīng)的參數(shù)了,但是self參數(shù)不需要輸入,因為Python解釋器自己會把實例變量傳進(jìn)去。
>>>dog = Animal('dog',3) >>>dog.name dog >>>dog.age 3
需要注意的是,實例可以訪問到其類的屬性,如我們將dog的name屬性刪掉再調(diào)用。
>>>del dog.name >>>dog.name animal
可見,在dog訪問了Animal的name屬性,而當(dāng)dog有name屬性時則優(yōu)先訪問dog的屬性。
方法
方法可以理解成在類中定義的函數(shù),與函數(shù)不同的一點是,方法的第一個參數(shù)一定是self,而其他與函數(shù)相同,同樣可以用默認(rèn)參數(shù)、可變參數(shù)、關(guān)鍵字參數(shù)和命名關(guān)鍵字參數(shù)。
上面的__init__就是一個方法,當(dāng)然,我們還能定義其他的方法,比如我們在Animal中增加一個say方法:
class Animal(object): name = 'animal' def __init__(self,name,age): self.name = name self.age = age def say(self): print('wow...wow')
可以通過實例來調(diào)用方法,形式是“實例名.方法名(參數(shù))”,如
>>>dog = Animal('dog',3) >>>dog.say() wow...wow
上述就是小編為大家分享的Python面向?qū)ο缶幊塘?,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
分享名稱:Python面向?qū)ο缶幊?/a>
URL網(wǎng)址:http://jinyejixie.com/article40/ijjeho.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、網(wǎng)頁設(shè)計公司、云服務(wù)器、外貿(mào)網(wǎng)站建設(shè)、定制開發(fā)、網(wǎng)站設(shè)計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)