限制属性的范围
set_xxx() --> 设置属性
get-xxx() --> 获取属性
在set_xxx()方法里,检查参数
class Student(object):
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(60)
print s.get_score()
ps:
if value <0 or value>100
规则:
当前字段名<=100.and.当前字段名>0
不在0~100内 报错(raise)
@property
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
s = Student()
s.score = 60#实际转化为s.set_score
print (s.score)#实际转化为print(s.get_score())
网友评论