このプログラムを実行するとき、score がプライベート変数の場合にのみ正常に実行できます。これはプロパティの機能ですか、それとも何ですか? self.score=score にしただけだと「Python オブジェクトの呼び出し中に最大再帰深度を超えました」というエラーが表示されますので、回答をお願いします
この混乱の理由は、あなたが Python のゲッター デコレータとセッター デコレータに十分慣れていないためです
スコア属性のセッターデコレータを宣言した後、実際にスコアを割り当てるには、セッターデコレータによってバインドされたメソッドを呼び出します
したがって、セッターがアクセスしたいメンバー変数は、セッター メソッドと同じ名前を持つことはできません。そうしないと、無限の反復と同等になります:
もちろん、最大反復深さを超えるエラーは報告されます
この混乱の理由は、あなたが Python のゲッター デコレータとセッター デコレータに十分慣れていないためです
スコア属性のセッターデコレータを宣言した後、実際にスコアを割り当てるには、セッターデコレータによってバインドされたメソッドを呼び出します
したがって、セッターがアクセスしたいメンバー変数は、セッター メソッドと同じ名前を持つことはできません。そうしないと、無限の反復と同等になります:
リーリーもちろん、最大反復深さを超えるエラーは報告されます