Pythonのプロパティは、クラスの属性に対して、特定のロジックを組み込んでアクセスや変更を制御するための機能です。通常の属性と異なり、プロパティを使うと、アクセスや代入時に関数を通じて処理を行えるようになります。
プロパティは、@property デコレーターを使って定義します。このデコレーターを使うことで、メソッドを属性のように扱えるようになります。
class Circle: def __init__(self, radius): self._radius = radius # プライベートな属性 @property def radius(self): # 半径を取得するメソッド return self._radius @radius.setter def radius(self, value): # 半径を設定するメソッド if value < 0: raise ValueError("半径は負の値にできません") self._radius = value @property def area(self): # 面積を計算するプロパティ return 3.14 * self._radius ** 2