加入装饰器后可能的名称冲突问题
class Student(Person): def __init__(self, name, score): self.name = name self.score = score @property def score(self): print 'using decorator' return self.score @score_setter def score(self, score): = score
如果像这样写的话,会不会产生名称冲突的问题。
比如:
s = Student('Alice',90) s.score = 86
外面的s.score实际上是set_score函数,执行该函数时,我标注为黑色的self.score究竟是指哪个?
是带装饰器的那个get_score函数,还是在__init__里出现的self.score属性?