'int'对象不能用int调用(raw_input(“”))

时间:2014-03-08 11:52:04

标签: python python-2.7

我一直在寻找,并且关于此错误的SO中的所有问题都是因为数字被用作函数(即2(5/3))或因为变量被用作函数或与之共享名称(即functionwithvariablename(3*5))。

我在使用像这样的结构时遇到了这个错误

var=int(raw_input("message: "))

据我所知,这是正确的做法。我在同一个程序中以及在几个类和模块中多次使用过相同的结构,除了这两行之外,我从未遇到过任何问题。 Here是代码(它显示为var=input("message"),但我现在尝试运行它而只更改了这两行)。 tempxtempy不与任何功能共享姓名。我也尝试删除raw_input中的消息(相同结果)。

我不知道这条线路是否有问题,或者我遗漏了什么。

2 个答案:

答案 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