読者です 読者をやめる 読者になる 読者になる

print 'Hello YKazu'

('Python', 'Javascript')

残念なPython2のsetterプロパティ

Python2
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