残念なPython2のsetterプロパティ
class Man: def __init__(self): self.__x = 10 # ゲッター定義 @property def x(self): return self.__x * 2 # セッター定義 @x.setter def x(self, value): self.__x = value * 3 # デリーター定義 @x.deleter def x(self): del self.__x man = Man() print(man.x) # 20 # Python2ではセッターが上書きされて消える。Python3ではセッターが呼び出される。 man.x = 5 print(man.x) # Python2:5, Python3:30 del man.x