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