新聞中心
面向對象編程

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


咨詢
建站咨詢
