p1.count = p1.count + 1 為什么不能修改類屬性的值
class Person(object):
? ? count = 0
? ? def __init__(self):
? ? ? ? Person.count = Person.count + 1
p1 = Person()
p1.count = p1.count + 1
print p1.count
p2 = Person()
print Person.count
p3 = Person()
print Person.count
執行的結果是?
2
2
3
p1.count = p1.count + 1 為啥這個表達式不能在其他的實例創建的時候產生作用,Person.count =Person.count + 1? 如果換成這個就可以
2019-11-23
不能通過實例屬性去修改類屬性的值,只能通過類屬性來修改
2019-11-23
count是類屬性,要改變類屬性得用“Person.count”,“p1.count”改變的只是實例p1的屬性,而是實例屬性的優先級比類屬性高,我是這么理解的。