# 使用property
class Person(object):
@property
def score(self):
return self.score
@score.setter
def score(self, value):
if not isinstance(value, int):
raise ValueError('score must be an integer')
if value < 0 or value > 100:
raise ValueError('score must between 0~100')
self.score = value
p1 = Person()
p1.score = 78
print(p1.score)
报错:
File "D:/workspace/PythonWS/python_study/use_property.py", line 37, in score
self.score = value
RecursionError: maximum recursion depth exceeded
大冰小松
报错:
把self.score改成self._score就可以了,为什么?劳烦各位大神解释一下。