python修改類屬性


python修改類屬性

1,當類屬性為不可變的值時,不可以通過實例對象去修改類屬性

class Foo(object):
    x = 1.5

foo = Foo()
print(foo.x)         #輸出:1.5
print(id(foo.x))     #輸出:2400205363696

foo.x = 1.7
print(foo.x)         #輸出:1.7
print(id(foo.x))     #輸出:2400203142352   和上面的id不一樣,表明已經新創建了一個實例屬性
print(Foo.x)         #輸出:1.5

 

2,當類屬性為可變的值時,可以過實例對象去修改類屬性

class Foo(object):
    x = [1,2,3]

foo = Foo()
print(foo.x)       #輸出:[1, 2, 3]
print(id(foo.x))   #輸出:1999225501888

foo.x[2] = 4
print(foo.x)      #輸出:[1, 2, 4]
print(id(foo.x))  #輸出:1999225501888
print(Foo.x)      #輸出:[1, 2, 4]

foo.x.append(5)
print(foo.x)      #輸出:[1, 2, 4, 5]
print(id(foo.x))  #輸出:1999225501888
print(Foo.x)      #輸出:[1, 2, 4, 5]

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM