作为 Python 的初级开发人员,我多次看到此错误消息出现在我的控制台中,但我并不完全理解它的含义。
谁能以一般方式告诉我什么样的操作会产生此错误?
原文由 prl900 发布,翻译遵循 CC BY-SA 4.0 许可协议
作为 Python 的初级开发人员,我多次看到此错误消息出现在我的控制台中,但我并不完全理解它的含义。
谁能以一般方式告诉我什么样的操作会产生此错误?
原文由 prl900 发布,翻译遵循 CC BY-SA 4.0 许可协议
其他答案详细说明了错误的原因。一个可能的原因(要检查)可能是你的类有一个同名的变量和方法,然后你调用它们。 Python 将变量作为可调用对象访问 - 使用 ()
。
例如 A 类定义了 self.a
和 self.a()
:
>>> class A:
... def __init__(self, val):
... self.a = val
... def a(self):
... return self.a
...
>>> my_a = A(12)
>>> val = my_a.a()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'int' object is not callable
>>>
原文由 wmorrison365 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答874 阅读✓ 已解决
1 回答1.8k 阅读✓ 已解决
当您尝试使用
()
调用一个不可 调用 的对象时,会发生该错误。可调用对象可以是函数或类(实现
__call__
方法)。根据 Python 文档:例如:
x
不是可调用对象,但您正在尝试调用它,就好像它就是它一样。此示例产生错误:为了更好地理解什么是 可调用 对象 ,请阅读另一个 SO 帖子中的答案。