class Study(object):
def __init__(self, name, course, score):
self._name = name # 必须是成员变量,只有该类或子类能访问
self._course = course
self._score = score
@property # 装饰器只是在原有函数的基础上添加新功能
def name(self):
return self._name
@property # 读取功能
def score(self): # 对应的函数名 score必须相同
return self._score
@score.setter # 修改功能
def score(self, score):
self._score = score
def evaluation(self):
if self._score < 60:
print("{}'s {} socre is {}, it is bad".format(self._name, self._course, self._score))
else:
print("{}'s {} socre is {}, it is good".format(self._name, self._course, self._score))
def main():
s = Study("tom", "math", 66)
s.evaluation()
s.score = 59 # 直接修改 score 属性
s.evaluation()
if __name__ == "__main__":
main()