プロパティ
オブジェクトが有する変数のように参照できるよう実装されたメソッドのこと。属性の一種。
ビルトインクラスにおける例
一般のメソッドは、呼び出す際に後に丸括弧を記述する。
code:property1.py
a = 1 + 3j
x = a.conjugate() # メソッド呼出し
print('複素共役', x)
クラスの内部において、プロパティはメソッドとして定義されているが、丸括弧を使うことなく利用することができる。
code:(続き).py
print('実数部', a.real, '虚数部', a.imag)
ユーザ定義クラスにおけるプロパティの定義
プロパティはデコレータ「@property」を用いて定義する。その結果、メソッドが帰す値をインスタンス変数のように参照できるようになる。
code:property2.py
class Myclass:
@property
def method(self):
return 1
m1 = Myclass()
print(m1.method) # メソッドなのに丸括弧が不要
メソッドなので値の代入はできない。(あたりまえ)
code:(続き).py
m1.method = 10
https://scrapbox.io/files/6528f31cacea82001bfa75f4.png