Python3のsetter補足
おさらい
前に書いた記事で、python3で@hoge.setterを使って、
class Class: def __init__(self, a): self._a = a @property def a(self): return self._a @a.setter def a(self, v): if v < 20: self._a = v else: print("ERROR") if __name__ == "__main__": c = Class(10) c.a = 100 print(c.a)
こんなコードを書いた。これの補足。
実は
このコードだが、@propertyが無いと動かないという微妙な仕様である。setterだけ欲しい場合も割とあると思うんだがなぁ…まぁ@propertyがあると困る、というシチュはそんなに無いとは思われるが。