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

python中使用@property

2015-11-19 17:29 513 查看
class Student(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

@property
的实现比较复杂,我们先考察如何使用。把一个getter方法变成属性,只需要加上
@property
就可以了,此时,
@property
本身又创建了另一个装饰器
@score.setter
,负责把一个setter方法变成属性赋值,于是,我们就拥有一个可控的属性操作:

转自:

http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001386820062641f3bcc60a4b164f8d91df476445697b9e000
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: