在 Python 中遇到错误 "TypeError: 'str' object is not callable" 通常意味着你不小心将一个内置函数或者其他可调用对象覆盖成了字符串或其他非函数类型的对象。在你的情况下,很可能是 range
被重新定义为了一个字符串。
这种错误通常发生在以下情况:
range
赋值为了一个字符串或其他类型,从而覆盖了内置的 range
函数。range
,导致命名冲突。假设你的代码中有以下部分:
range = "some string"
print(range(5))
这段代码会导致 "TypeError: 'str' object is not callable" 错误,因为 range
被赋值为了一个字符串,而后你试图像调用函数那样去调用它。
range
作为变量名。如果使用了,改为其他名称。# 错误的使用 range = "some string" # 这会覆盖内置的 range 函数 print(range(5)) # 尝试调用字符串会导致错误 # 正确的使用 my_range = "some string" print(range(5)) # 正确调用内置的 range 函数
range
的覆盖。del
删除覆盖:如果你不想重启解释器,可以尝试使用 del
删除覆盖的定义。range = "some string" del range # 删除当前的 range 定义,恢复对内置 range 函数的访问 print(range(5))
range
的变量或函数。
领取专属 10元无门槛券
手把手带您无忧上云