class Student(object):
def __init__(self, name, score,grade):#答案中为什么不用定义这个grade
self.name = name
self.__score = score
self.__grade = grade
@property
def score(self):
return self.__score
@score.setter
def score(self, score):
if score < 0 or score > 100:
raise ValueError('invalid score')
self.__score = score
@property
def grade(self):
if score>=80:这里为什么是self.score,既不能是score也不能是self.__score.很迷惑,求指导
return 'A'
elif score>=60:
return 'B'
return 'C'
s = Student('Bob', 59)
print (s.grade)
s.score = 60
print (s.grade)
s.score = 99
print (s.grade)