我一直在寻找,并且关于此错误的SO中的所有问题都是因为数字被用作函数(即2(5/3)
)或因为变量被用作函数或与之共享名称(即functionwithvariablename(3*5)
)。
我在使用像这样的结构时遇到了这个错误
var=int(raw_input("message: "))
据我所知,这是正确的做法。我在同一个程序中以及在几个类和模块中多次使用过相同的结构,除了这两行之外,我从未遇到过任何问题。 Here是代码(它显示为var=input("message")
,但我现在尝试运行它而只更改了这两行)。 tempx
和tempy
不与任何功能共享姓名。我也尝试删除raw_input
中的消息(相同结果)。
我不知道这条线路是否有问题,或者我遗漏了什么。
答案 0 :(得分:1)
在第11行中,您定义int = 0
。这会覆盖内置int
。将变量更改为其他内容,您应该没问题。
答案 1 :(得分:0)
看起来你已经在第11行和第15行的代码中覆盖了内置的int()
和str()
方法,因此它们现在指向int对象而不是内置函数。因此,当您尝试调用它们时,您将获得一个不可调用的异常。
在Python 2.7上它适用于我
>>> var = int(raw_input("message:"))
message:12
>>> var
12