84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
このプログラムを実行するとき、score がプライベート変数の場合にのみ正常に実行できます。これはプロパティの機能ですか、それとも何ですか? self.score=score にしただけだと「Python オブジェクトの呼び出し中に最大再帰深度を超えました」というエラーが表示されますので、回答をお願いします
会产生这个困惑的原因是对python的getter装饰器和setter装饰器不够熟悉
当你声明了对score属性的setter装饰器之后, 实际上对这个score进行赋值就是调用这个setter装饰器绑定的方法
所以你的setter要访问的成员变量不能和setter方法同名, 不然就相当于一个无尽的迭代:
self.score(self.score(self.score(self.score(self.score........ 无尽的迭代,
当然会报超过最大迭代深度的错误了
会产生这个困惑的原因是对python的getter装饰器和setter装饰器不够熟悉
当你声明了对score属性的setter装饰器之后, 实际上对这个score进行赋值就是调用这个setter装饰器绑定的方法
所以你的setter要访问的成员变量不能和setter方法同名, 不然就相当于一个无尽的迭代:
当然会报超过最大迭代深度的错误了