Python類變量與實例變量學習筆記

class A:
    # aa爲類變量
    aa = 1
    # xy爲實例變量
    def __init__(self, x, y):
        self.x = x
        self.y = y


if __name__ == '__main__':
    # a是實例A是一個類
    a = A(2, 4)
    # 這裏面xy就是實例變量,aa爲類變量,a.aa會優先查找對象的變量,找不到則向上查詢類變量
    print(a.aa, a.x, a.y)
    print(A.aa)
    A.aa = 11
    print(a.aa)
    a.aa = 100
    print(a.aa)
    print(A.aa)



聯繫與區別

聯繫

Python類變量被賦值
(1)類的設計裏,
class裏def外,通過變量名能被賦值
def裏通過類對象即類名字的點運算變量名可被賦值
(2)程序裏
通過類對象(類名字)的點運算類名字也可被賦值
Python實例對象變量被賦值
(1)類的設計時
def裏通過self點運算變量名能被賦值,不一定非在init裏,其他已被調用的方法函數裏也行
(2)程序裏
通過實例對象的點運算變量名可被賦值

區別

類變量和實例變量的區別在於:類變量是所有對象共有,其中一個對象將它值改變,其他對象得到的就是改變後的結果;而實例變量則屬對象私有,某一個對象將其值改變,不影響其他對象

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章