property()
クラスにプロパティを定義し、property属性を返します。
使用例
class C:
def __init__(self):
self._x = None
def getx(self):
return self._x
def setx(self, value):
self._x = value
def delx(self):
del self._x
x = property(getx, setx, delx, "I'm the 'x' property.")
class Object:
def __init__(self, arg):
self.__arg = arg
def _set_arg(self, arg):
self.__arg = arg
def _get_arg(self):
return self.__arg
def _del_arg(self):
self.__arg = None
arg = property(_get_arg, _set_arg, _del_arg)
obj = Object(1)
print(obj.arg)
# 実行結果 1
obj.arg = 5
del obj.arg
print(obj.arg)
# 実行結果 None