Python中的TypeError发生在Python Shell中,而不是脚本中?

Python中的TypeError发生在Python Shell中,而不是脚本中?,python,Python,我不知道为什么在我编写script.py并运行该脚本时,以下简单行可以工作,但在Python shell中不工作: random = [1,2,3] iter = iter(random) print (next(iter)) 当然,当运行脚本时,输出为:1 但是如果我在Python shell中输入每一行,我会得到: 'str_iterator' object not callable 在iter=iter(随机) 为什么会这样 提前感谢!:) 您已将调用内置函数iter的结果分配给

我不知道为什么在我编写script.py并运行该脚本时,以下简单行可以工作,但在Python shell中不工作:

random = [1,2,3]
iter = iter(random) 
print (next(iter)) 
当然,当运行脚本时,输出为:
1
但是如果我在Python shell中输入每一行,我会得到:

'str_iterator' object not callable 
iter=iter(随机)

为什么会这样


提前感谢!:)

您已将调用内置函数
iter
的结果分配给名称
iter
。这将不允许您在REPL中再次调用
iter

因此,几乎可以肯定,在shell会话中,您已经完成了:

iter = iter(some_string)

由于它是一个内置函数,只需执行
deliter
,不要将内置函数用作变量名

Python2.x或3.x?这在Python3.7.0中很好地工作。iter仅存在于python 2.2及更高版本中:@Swift:python 3.x这并不能解释他们收到的错误消息。@jwodder我敢打赌,在REPL中,他们已经为iter分配了一个字符串迭代器,然后再也没有重新启动会话