私はPythonのチュートリアルの本を読んでいて、プロパティについて簡単に説明しました。私が理解しているところでは、クラス属性が要求されると、pythonは属性にアクセスする前にコードを実行できるように属性を返すプロパティメソッドに要求を送ります。しかし、なぜこれが必要なのですか。下の例では、返される属性vにはドット表記でもアクセスできません。なぜ@propertyデコレータをPythonで使うべきですか?
@property
def value(self):
if self.is_face_up:
v = BJ_Card.RANKS.index(self.rank) + 1
if v > 10:
v = 10
else:
v = None
return v
_返される属性にはドット表記でもアクセスできません。どういう意味ですか? 'YourClass()。value'はうまく動作します。 –
はい私は、変数vのように扱う方法でドット表記法を使うことができるようになったことを知っています。質問を書いたとき、MyClass.vをタイプすることによって変数vを得ることができなかったので混乱しました。これはメソッドを呼び出すだけで必要なわけではありません。 –