class A: @property def t(self): return self.t @t.setter def t(self,t): self.t=t if __name__=='__main__': a=A() a.t=10 print(a.t) 怎样修改代码使得输出结果为10
时间: 2023-12-29 10:05:05 浏览: 71
任意输入10个数,最大最小调换后再输出
5星 · 资源好评率100%
代码中的问题在于`t`属性的getter方法中返回了自身的`t`属性,而这会导致无限递归调用。应该返回另一个变量作为属性值。修改代码如下:
```
class A:
def __init__(self):
self._t = None
@property
def t(self):
return self._t
@t.setter
def t(self, t):
self._t = t
if __name__ == '__main__':
a = A()
a.t = 10
print(a.t)
```
这样输出结果就是10了。
阅读全文