Python property() ビルトイン関数
プロパティ属性を返します。
Introduction
property() 関数は、プロパティ属性を作成するために使用されます。プロパティ属性とは、getter、setter、および delete メソッドを持つ特殊な種類の属性です。これにより、属性の値の取得、設定、または削除にロジックを追加できます。
property() を使用するより一般的な方法は、@property デコレータを使用することです。これは property() を使用するより便利な方法です。
Example
property() を使用して読み取り専用属性を作成する例を次に示します。
class Person:
def __init__(self, name):
self._name = name
def get_name(self):
print("Getting name")
return self._name
# プロパティを作成
name = property(get_name)
p = Person("John")
print(p.name) # これは get_name() を呼び出します
Getting name
John
注:セッターがないため、p.name = "Jane" は AttributeError を発生させます。
そして、@property デコレータを使用した、より一般的な方法は次のとおりです。
class Person:
def __init__(self, name):
self._name = name
@property
def name(self):
print("Getting name")
return self._name
p = Person("John")
print(p.name)
Getting name
John