Python類變數和例項變數

2021-10-02 06:43:01 字數 508 閱讀 7266

類體中、所有函式之外:此範圍內定義的變數,稱為類屬性或類變數;類屬性的呼叫方式有 2 種,既可以使用類名直接呼叫,也可以使用類的例項化物件呼叫。需要注意的是:因為類變數為所有例項化物件共有,通過類名修改類變數的值,會影響所有的例項化物件;而不能通過類物件修改類屬性。

類體中,所有函式內部:以「self.變數名」的方式定義的變數,稱為例項屬性或例項變數;例項變數指的是在任意類方法內部,以「self.變數名」的方式定義的變數,其特點是只作用於呼叫方法的物件。另外,例項變數只能通過物件名訪問,無法通過類名訪問。

類體中,所有函式內部:以「變數名=變數值」的方式定義的變數,稱為區域性變數。除了例項變數,類方法中還可以定義區域性變數。和前者不同,區域性變數直接以「變數名=值」的方式進行定義。通常情況下,定義區域性變數是為了所在類方法功能的實現。需要注意的一點是,區域性變數只能用於所在函式中,函式執行完成後,區域性變數也會被銷毀。

注意:類中,例項變數和類變數可以同名,但這種情況下使用類物件將無法呼叫類變數,它會首選例項變數,這也是不推薦「類變數使用物件名呼叫」的原因。

python中類變數和例項變數 之例項變數

class test def f self,name self.name name def f1 self print self.name 例項變數為例項物件特有資料 x1 test 例項化test類,建立例項物件x1 x2 test 例項化test類,建立例項物件x2 設定例項屬性 方式1 x1....

python程式設計(類變數和例項變數)

關於類變數和例項變數,一直不是很清楚。所以,想做幾個實驗,徹底解決這個問題。為此,我們設計了三個實驗。1 直接引用類變數 import os import sys class a data 10 a a b a print a.data print b.data print a.dict print...

例項變數和類變數

例項變數 instance variable 我們在類內部,方法體外部,用 或不用 private protected public修飾定義 而且沒有static修飾符 的變數稱為 例項變數,即這些變數存放在這個類的每個物件的記憶體空間中,他們之間互不 影響 即對其中乙個物件的例項變數進行修改不會影...