2. 組み込み関数 — Python 2.7ja1 documentation
プロパティオブジェクトは getter, setter, および deleter メソッドを備えています。これらのメソッドは属性のコピーを生成するデコレータに適していて、デコレートした関数を対応する属性参照関数に割り当てます。
# -*- coding: utf-8 -*- class C(object): def __init__(self): self._x = None @property def x(self): """I'm the 'x' property.""" return self._x @x.setter def x(self, value): self._x = value @x.deleter def x(self): del self._x C = C() print C # <__main__.C object at 0x102706610> # propertyがないと AttributeError: 'C' object has no attribute 'x' print C.x # None # setterがないと AttributeError: can't set attribute C.x = 3 print C.x # 3 del C.x # deleterがないと AttributeError: can't delete attribute print C.x # AttributeError: 'C' object has no attribute '_x'