Python中print函数抛出TypeError: 'int' object is not callable错误求助
问题原因与解决方法
问题根源
你遇到的TypeError: 'int' object is not callable错误,本质是内置函数print被意外覆盖成了整数类型。当你尝试调用print()时,Python会把它当成一个整数来执行,自然触发报错。
你的代码片段里虽未直接给print赋值,但Colab的全局环境会保留之前单元格的变量。如果之前的代码中不小心执行过类似print = 10这类整数赋值操作,就会导致后续所有print()调用失败。
另外,你的代码存在变量名重复使用的情况(比如b既用来接收cv2.split的结果,又在循环里赋值为像素值),虽然这和当前print的问题无关,但长期来看容易引发其他变量冲突,建议规范变量命名。
解决步骤
- 恢复
print的内置功能:在代码开头添加以下语句,强制恢复print为内置函数import builtins print = builtins.print - 排查全局变量:在报错前执行
print(type(print)),如果输出是<class 'int'>,则确认print已被覆盖。可以通过del print删除错误变量,再重新调用print() - 规范变量命名:避免使用内置函数名(如
print、list、str等)作为自定义变量名,同时避免重复使用同一变量名存储不同类型的数据
验证修改
添加恢复语句后,再运行print("hello")即可正常输出。
内容的提问来源于stack exchange,提问作者Homulity TT
相关产品推荐
相关产品推荐

