概要
Python
の@property
デコレータは、クラス内でゲッターやセッター、デリーターを簡単に定義できる便利な機能です。これにより、メソッドをプロパティとして扱い、より直感的に属性にアクセスできるようになります。
@property
の基本構文
通常、クラス内のメソッドをプロパティとして定義するには、@property
デコレータを使用します。
class MyClass:
def __init__(self, value):
self._value = value
@property
def value(self):
return self._value
これにより、value
メソッドはプロパティとして振る舞い、my_instance.value
のように呼び出せます。
セッターとデリーターの定義
プロパティに対してセッターやデリーターを定義する場合、@<プロパティ名>.setter
や@<プロパティ名>.deleter
を使います。
class MyClass:
def __init__(self, value):
self._value = value
@property
def value(self):
return self._value
@value.setter
def value(self, new_value):
self._value = new_value
@value.deleter
def value(self):
del self._value
結論
@property
デコレータは、クラスのプロパティを管理する際に役立ち、ゲッターやセッターを明確かつ簡潔に記述できます。これにより、コードの可読性が向上し、属性の操作が直感的に行えるようになります。