廖雪峰——装饰器

xiaoxiao2025-10-02  6

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 # OK,实际转化为s.set_score(60) >>> s.score # OK,实际转化为s.get_score() 60 >>> s.score = 9999 Traceback (most recent call last): ... ValueError: score must between 0 ~ 100!

s.score=60,因为需要设置值,定位到score(self, value):这个函数。s.score这行命令直接调用score(self)这个函数。

转载请注明原文地址: https://www.6miu.com/read-5037229.html

最新回复(0)