您的位置:首页 > 编程语言 > Python开发

python-用@property将一个方法(例如getXxx/setXxx)变成属性

2017-08-17 19:59 585 查看

代码

class student:
@property
def score(self):
return self._score#注意!! 一定要是self._score 注意“下划线”,这是一个私有的属性。

@score.setter #如果不设置这个属性,那么将无法给这个属性赋值
def score(self,value):
if not isinstance(value,int):
raise ValueError("score不是整数") #引发一个异常,你可以在使用赋值语句的地方捕获
else:
self._score = value

try:
s = student()
s.score = input("scord:") #在这输入的内容,无论是字符还是数字返回的都是文本型,所以一定会引发下面的异常。要想不引发,可以转换下类型例如 score = int(input("scord:"))
print(s.score)
except ValueError: #在这就能捕获异常了
print("请输入正确的分数格式")
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: