溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python面向對象編程

發布時間:2020-09-24 13:41:37 來源:億速云 閱讀:150 作者:Leah 欄目:編程語言

這期內容當中小編將會給大家帶來有關Python面向對象編程,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

面向對象編程

面向過程編程:Procedure Oriented Programming,簡稱POP。在之前的介紹中,多是用面向過程的思想。面向過程的思想是一種是事件為中心的編程思想,即分析出解決問題所需的步驟,然后用函數把這寫步驟實現,把大塊函數切成小塊函數,并按順序調用。

面向對象編程:Object Oriented Programming,簡稱OOP。面向對象的思想就是以對象為中心的編程思想,程序的執行過程就是一系列信息在各個對象之間傳遞的過程。

什么是對象?在Python中,一切的數據類型都可視為對象,“萬物皆對象”。

類 Class

Class,類,是面向對象編程最重要的概念之一。類是抽象的模板,而實例就是根據類創建出來的對象。比如:

實例
杯子馬克杯、玻璃杯、高腳杯...
動物貓、狗、兔子...
電器冰箱、電視、空調...

類的定義

在Python中,通過class關鍵字來定義一個類:

class Animal(object):
    pass

Animal是類名,類名一般以大寫字母開頭,后面( )表示該類從哪一類繼承,若沒有合適的繼承類,就用object,因為所有類都會繼承該類,繼承是面向對象的三大特征之一,后面會介紹。

類的屬性

完成了類的定義之后,我們可以定義類的屬性,如:

class Animal(object):
    name = 'animal'

調用其屬性時,用“對象名.屬性名”的形式來調用,如:

>>>Animal.name
animal

實例 Instance

Instance,實例,是面向對象編程最重要的概念之一。實例就是根據類創建出來的對象。事實上,面向對象編程就是對“類”和“實例”的使用。

實例的定義

有了類之后,就可以根據類來定義對應的實例。

>>>dog = Animal()>>>dog
<__main__.Animal object at 0x0000000001DB8780>

上面dog就是Animal的一個實例,后面的0x0000000001DB8780便是內存地址。

實例的屬性

同樣的,我們可以定義實例的屬性

>>>dog.name = 'dog'
>>>dog.name
dog

由于類是實例的一個模板,一般而言,我們在定義類的時候就可以把對應實例的屬性給綁定上去。這需要在類里面定義一個__init__方法(方法類似于函數,在后面會介紹),如

class Animal(object):

    name = 'animal'
    
    def __init__(self,name,age):
        self.name = name
        self.age = age

注意到__init__方法的第一個參數永遠是self,表示創建實例本身,self就是指向實例的,隨后加入需要的參數。這樣在創建實例時就要輸入對應的參數了,但是self參數不需要輸入,因為Python解釋器自己會把實例變量傳進去。

>>>dog = Animal('dog',3)
>>>dog.name
dog
>>>dog.age
3

需要注意的是,實例可以訪問到其類的屬性,如我們將dog的name屬性刪掉再調用。

>>>del dog.name
>>>dog.name
animal

可見,在dog訪問了Animal的name屬性,而當dog有name屬性時則優先訪問dog的屬性。

方法

方法可以理解成在類中定義的函數,與函數不同的一點是,方法的第一個參數一定是self,而其他與函數相同,同樣可以用默認參數、可變參數、關鍵字參數和命名關鍵字參數。

上面的__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')

可以通過實例來調用方法,形式是“實例名.方法名(參數)”,如

>>>dog = Animal('dog',3)
>>>dog.say()
wow...wow

上述就是小編為大家分享的Python面向對象編程了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女