Spyder error: 'int' object is not callable but no error in different IDE
Spyder error: 'int' object is not callable but no error in different IDE
我有一个奇怪的问题需要帮助。我在 Spyder 中有我想要 运行 的代码,但我一直收到错误说明
类型错误:'int'对象不可调用。
s ='abcdefgbobaaaaabob'
end = 3
bobs = 0
for i in range(len(s)):
finder = s[i:end]
if finder == 'bob':
bobs += 1
end += 1
print('Number of times bob occurs is: '+ str(bobs))
奇怪的是,当我在 IDLE 中 运行 相同的代码时,它工作正常并给出了我需要的结果。我什至尝试了 运行ning pythontutor.com 中的代码,没有错误。
谁能告诉我为什么会这样!?
我 运行 它也使用 Spyder,而且效果很好。您在使用 Python3 吗?
当您有一个整数对象,但您的代码试图将它当作一个函数来使用时,就会发生此错误。例如:
- 您正在使用一个函数,该函数期望另一个函数作为其参数之一,但您传递给它的是一个整数,或者
- 您通过将一个整数值赋给相同的名称来覆盖了一个函数。
第一个似乎不是这里的问题,所以您可能不小心覆盖了正在使用的其中一个功能?
>>> str(3)
'3'
>>> str = 17
>>> str(3)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'int' object is not callable
在 Spyder 中,您可以在 Variable Explorer 选项卡中检查它,然后右键单击它并选择 Remove
,或键入(例如)del(str)
在 Python 控制台中删除不正确的分配。
Spyder 保存您之前创建的变量。您可以在变量资源管理器选项卡中查看这些创建的变量。
如果那里存在任何变量,并且您在任何 python 程序中使用相同的变量作为函数。它会抛出错误 "int object is not callable" 或“'str' object is not callable”,具体取决于变量资源管理器中存在的变量。
解决方案:
只需右键单击变量资源管理器中的此类变量即可将其删除
在控制台中输入 del(variable_Name)。 eg.del(len) 或 del len
请查看截图-spyder IDE:
我有一个奇怪的问题需要帮助。我在 Spyder 中有我想要 运行 的代码,但我一直收到错误说明
类型错误:'int'对象不可调用。
s ='abcdefgbobaaaaabob'
end = 3
bobs = 0
for i in range(len(s)):
finder = s[i:end]
if finder == 'bob':
bobs += 1
end += 1
print('Number of times bob occurs is: '+ str(bobs))
奇怪的是,当我在 IDLE 中 运行 相同的代码时,它工作正常并给出了我需要的结果。我什至尝试了 运行ning pythontutor.com 中的代码,没有错误。
谁能告诉我为什么会这样!?
我 运行 它也使用 Spyder,而且效果很好。您在使用 Python3 吗?
当您有一个整数对象,但您的代码试图将它当作一个函数来使用时,就会发生此错误。例如:
- 您正在使用一个函数,该函数期望另一个函数作为其参数之一,但您传递给它的是一个整数,或者
- 您通过将一个整数值赋给相同的名称来覆盖了一个函数。
第一个似乎不是这里的问题,所以您可能不小心覆盖了正在使用的其中一个功能?
>>> str(3)
'3'
>>> str = 17
>>> str(3)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'int' object is not callable
在 Spyder 中,您可以在 Variable Explorer 选项卡中检查它,然后右键单击它并选择 Remove
,或键入(例如)del(str)
在 Python 控制台中删除不正确的分配。
Spyder 保存您之前创建的变量。您可以在变量资源管理器选项卡中查看这些创建的变量。
如果那里存在任何变量,并且您在任何 python 程序中使用相同的变量作为函数。它会抛出错误 "int object is not callable" 或“'str' object is not callable”,具体取决于变量资源管理器中存在的变量。
解决方案:
只需右键单击变量资源管理器中的此类变量即可将其删除
在控制台中输入 del(variable_Name)。 eg.del(len) 或 del len
请查看截图-spyder IDE: