0
私は、関数を保持する変数を宣言したいクラスを作成しています。私はいくつかの情報を処理した後に呼び出したいと思います。この状況でプロパティデコレータを使用する方法を知っていません。 私はすでにこのコードを持っている:私はこのコードでself.callbackため@property
と@property.setter
と@property.getter
デコレータを使用する方法@ property.setterデコレータを使用してクラスに関数を渡す
class MyClass:
def __init__(self):
self.callback = None
def run():
#do something here...
result = self.callback(result)
print(result)
def func1(result):
result = result ** 2
return result
def func2(result):
result = result ** 4
return result
class1 = MyClass()
class1.callback = func1
class1.run()
class1.callback = func2
class1.run()
私の質問はありますか?
なぜあなたはプロパティを使用する必要があると思いますか?あなたが今持っているコードの*問題点は何ですか? – jonrsharpe
thats私はプロパティデコレータを使って作業する方法を学びたいので、ここで@propertyを使用するのは良い方法ではありませんか? –
これは必要ないためです。バリデーションルールや他の実際の*理由*がない限り、属性へのアクセスが不明瞭になることはありません。あなたが勉強したいだけなら、なぜこの質問をするのではなく、チュートリアルを読んでいないのですか? – jonrsharpe