1.先上一个例子:
class Student(object):
def get_score(self):
return self._score
def set_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
#调用
s = Student()
s.set_score = 89
print s.get_score()
这是一个实例,写了get()和set()方法,这是没有使用装饰器写法
2.通过装饰器的修饰将python类中方法转换成属性
class Student(object):
@property
def score(self):
return self._score
@score.setter #相当于set(),@property相当于get()
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
#调用
s = Student()
s.score = 78
print s.score
本文由 Ryan 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为:
2017/11/20 15:35