Discuss / Python / 交作业(setter, getter, deleter)

交作业(setter, getter, deleter)

Topic source

class People(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

@score.deleter
def score(self):
if not hasattr(self, '_score'):
raise AttributeError('People object has no attribute "_score"')
del self._score

p = People()
p.score = 90
del p.score


  • 1

Reply