天天看點

屬性和方法|學習筆記

開發者學堂課程【Python 語言基礎 3:函數、面向對象、異常處理:屬性和方法】學習筆記,與課程緊密聯系,讓使用者快速學習知識。

課程位址:

https://developer.aliyun.com/learning/course/601/detail/8755

屬性和方法

内容簡介:

一、類的分類

二、例子

-類和對象都是對現實生活中的事物或程式中的内容的抽象

-實際上所有的事物都由兩部分構成:

1.資料(屬性)

2.行為(方法)

-在類的代碼塊中,我們可以定義變量和函數,

變量會成為該類執行個體的公共屬性,所有的該類執行個體都可以通過 對象.屬性名 的形式通路

函數會成為該類執行個體的公共方法,所有的該類執行個體都可以通過 對象.方法名()的形式調用方法

-注意:

  方法調用時,第一個參數由解析器自動傳遞,是以定義方法時,至少要定義一個形參!

-執行個體為什麼竜通路到類中的屬性和方法

類中定義的屬性和方法都是公共的,任何該類執行個體都可以通路

-屬性和方法查找的流程

當我們調用一個對象的屬性時,解析器會先在目前對象中尋找是否含有該屬性,

如果有,則直接傳回目前的對象的屬性值,

如果沒有,則去目前對象的類對象中去尋找,如果有則傳回類對象的屬性值,

如果沒有則報錯!

-類對象和執行個體對象中都可以儲存屬性(方法)

-如果這個屬性(方法)是所有的執行個體共享的,則應該将其儲存到類對象中

-如果這個屬性(方法)是某個執行個體獨有,則應該儲存到執行個體對象中

-一般情況下,屬性儲存到執行個體對象中,而方法需要儲存到類對象中

class Person

在類的代碼塊中,我們可以定義變量和函數

在類中我們所定義的變量,将會成為所有的執行個體的公共屬性,所有執行個體都可以通路這些變量。

 name=’swk’

​  公共屬性,所有執行個體都可以通路

在類中也可以定義函數,類中的定義的函數,我們稱為方法

這些方法也可以通過該類的所有執行個體來通路。

def say_hello(self);

方法每次被調用時,解析器都會自動傳遞的一個實參, 第一個參數,就是調用方法的對象本身,

如果是 p1 調的,則第一個參數就是 p1 對象

如果是 p2 調的,則第一個參數就是 p2 對象

一般我們都會将這個參數命名為 self

 say_hello() 這個方法,可以顯示如下格式的資料:

你好!我是xxx

在方法中不能直接方法類中的屬性

print(’你好!我是%s‘%self,name)

建立 person 的執行個體

P1=person()

P2=person()

Print(p2.name)

調用方法,對象。方法名()

方法調用和函數調用的差別

如果是函數調用,則調用時幾個參數,就會有幾個實參

但是如果是方法調用,預設傳遞一個參數,是以方法中至少要定義一個形參

修改 p1 的 name 屬性

p1.name=’豬八戒‘

P2.name=’沙和尚‘

p1.say_hello() ‘你好!我是豬八戒’

p1【variable】

p1.name

p1.name

del p2.name删除p2的name屬性

print(p1.name)

print(p2.name)