新聞中心
面向?qū)ο缶幊?/strong>

專注于為中小企業(yè)提供成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)天柱免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了成百上千企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
面向過(guò)程編程:Procedure Oriented Programming,簡(jiǎn)稱POP。在之前的介紹中,多是用面向過(guò)程的思想。面向過(guò)程的思想是一種是事件為中心的編程思想,即分析出解決問(wèn)題所需的步驟,然后用函數(shù)把這寫步驟實(shí)現(xiàn),把大塊函數(shù)切成小塊函數(shù),并按順序調(diào)用。
面向?qū)ο缶幊蹋篛bject Oriented Programming,簡(jiǎn)稱OOP。面向?qū)ο蟮乃枷刖褪且詫?duì)象為中心的編程思想,程序的執(zhí)行過(guò)程就是一系列信息在各個(gè)對(duì)象之間傳遞的過(guò)程。
什么是對(duì)象?在Python中,一切的數(shù)據(jù)類型都可視為對(duì)象,“萬(wàn)物皆對(duì)象”。
類 Class
Class,類,是面向?qū)ο缶幊套钪匾母拍钪?。類是抽象的模板,而?shí)例就是根據(jù)類創(chuàng)建出來(lái)的對(duì)象。比如:
| 類 | 實(shí)例 |
|---|---|
| 杯子 | 馬克杯、玻璃杯、高腳杯... |
| 動(dòng)物 | 貓、狗、兔子... |
| 電器 | 冰箱、電視、空調(diào)... |
類的定義
在Python中,通過(guò)class關(guān)鍵字來(lái)定義一個(gè)類:
class Animal(object): pass
Animal是類名,類名一般以大寫字母開頭,后面( )表示該類從哪一類繼承,若沒(méi)有合適的繼承類,就用object,因?yàn)樗蓄惗紩?huì)繼承該類,繼承是面向?qū)ο蟮娜筇卣髦?,后面?huì)介紹。
類的屬性
完成了類的定義之后,我們可以定義類的屬性,如:
class Animal(object): name = 'animal'
調(diào)用其屬性時(shí),用“對(duì)象名.屬性名”的形式來(lái)調(diào)用,如:
>>>Animal.name animal
實(shí)例 Instance
Instance,實(shí)例,是面向?qū)ο缶幊套钪匾母拍钪?。?shí)例就是根據(jù)類創(chuàng)建出來(lái)的對(duì)象。事實(shí)上,面向?qū)ο缶幊叹褪菍?duì)“類”和“實(shí)例”的使用。
實(shí)例的定義
有了類之后,就可以根據(jù)類來(lái)定義對(duì)應(yīng)的實(shí)例。
>>>dog = Animal()>>>dog <__main__.Animal object at 0x0000000001DB8780>
上面dog就是Animal的一個(gè)實(shí)例,后面的0x0000000001DB8780便是內(nèi)存地址。
實(shí)例的屬性
同樣的,我們可以定義實(shí)例的屬性
>>>dog.name = 'dog' >>>dog.name dog
由于類是實(shí)例的一個(gè)模板,一般而言,我們?cè)诙x類的時(shí)候就可以把對(duì)應(yīng)實(shí)例的屬性給綁定上去。這需要在類里面定義一個(gè)__init__方法(方法類似于函數(shù),在后面會(huì)介紹),如
class Animal(object): name = 'animal' def __init__(self,name,age): self.name = name self.age = age
注意到__init__方法的第一個(gè)參數(shù)永遠(yuǎn)是self,表示創(chuàng)建實(shí)例本身,self就是指向?qū)嵗?,隨后加入需要的參數(shù)。這樣在創(chuàng)建實(shí)例時(shí)就要輸入對(duì)應(yīng)的參數(shù)了,但是self參數(shù)不需要輸入,因?yàn)镻ython解釋器自己會(huì)把實(shí)例變量傳進(jìn)去。
>>>dog = Animal('dog',3)
>>>dog.name
dog
>>>dog.age
3需要注意的是,實(shí)例可以訪問(wèn)到其類的屬性,如我們將dog的name屬性刪掉再調(diào)用。
>>>del dog.name >>>dog.name animal
可見,在dog訪問(wèn)了Animal的name屬性,而當(dāng)dog有name屬性時(shí)則優(yōu)先訪問(wèn)dog的屬性。
方法
方法可以理解成在類中定義的函數(shù),與函數(shù)不同的一點(diǎn)是,方法的第一個(gè)參數(shù)一定是self,而其他與函數(shù)相同,同樣可以用默認(rèn)參數(shù)、可變參數(shù)、關(guān)鍵字參數(shù)和命名關(guān)鍵字參數(shù)。
上面的__init__就是一個(gè)方法,當(dāng)然,我們還能定義其他的方法,比如我們?cè)贏nimal中增加一個(gè)say方法:
class Animal(object):
name = 'animal'
def __init__(self,name,age):
self.name = name
self.age = age
def say(self):
print('wow...wow')可以通過(guò)實(shí)例來(lái)調(diào)用方法,形式是“實(shí)例名.方法名(參數(shù))”,如
>>>dog = Animal('dog',3)
>>>dog.say()
wow...wow 本文題目:創(chuàng)新互聯(lián)Python教程:詳解Python面向?qū)ο缶幊讨?、?shí)例、方法
路徑分享:http://www.dlmjj.cn/article/coodoce.html


咨詢
建站咨詢
