有一块,没弄明白。
Topic source#弄明白了。
>>>class Test(object):
... score=25
>>>t1=Test()
>>>t2=Test()
>>>t1.score
25
>>>t2.score
25
>>>t1.score=100
#实际上这里并没有修改类属性值,而只是给实例新创建了一个与类属性同名的实例属性score,并赋值为100.并且将类属性给覆盖了。
>>>t1.score #调用的实际是实例属性值。
100
>>>t2.score
25
>>>t2.score
25
- 1
感悟旅途
>>>def set_score(self, score):
..... self.score = score
>>>Student.set_score = set_score
>>>s.set_score(100)
>>>s.score
100
>>>s2.set_score(99)
>>>s2.score
99
>>>s.score #为什么这里是100,不应该是99吗,要是所有实例都共用类属性,这里该是99
100