f = obj.b() TypeError: 'int' object is not callable
时间: 2023-07-17 20:09:22 浏览: 135
控制台报错object is not a function的解决方法
5星 · 资源好评率100%
这个错误发生在尝试调用 `obj.b()` 时。错误消息指出 `'int'` 对象不可调用,意味着 `obj.b` 实际上是一个整数而不是可调用的方法。
在之前的代码中,我们可以看到在方法 `a()` 中,`self.b` 被赋值为整数 `2`。因此,`obj.b` 现在是一个整数属性而不是原先的方法。
要解决这个问题,您可以修改代码以避免将整数赋值给 `self.b`。确保不要覆盖方法 `b()` 的定义。例如,您可以使用不同的变量名来存储整数值,而不是使用与方法名相同的变量名。下面是一个示例修正:
```python
class A():
def b(self):
self.a()
def a(self):
self.b_value = 2
self.c = 3
self.d = 4
```
在这个修正后的代码中,将整数值赋给了名为 `self.b_value` 的变量,而不是 `self.b`。这样就不会覆盖方法 `b()` 的定义,并且可以避免出现 `'int' object is not callable` 的错误。
阅读全文