class Student(object):
@property
def grade(self):
if self.score>=90:
return 'a'
elif self.score>=60:
return 'b'
else:
return 'c'
@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
只定义getter方法,不定义setter方法就是一个只读属性:grade
可读写属性:score