`input`和`raw_input`之间的区别
`input`和`raw_input`之间的区别
这个问题在这里已经有答案了:
在一个教程中,我读到了 input
和 raw_input
之间存在不同。我发现在 Python 3.0 中,它们的行为发生了变化。新的行为是什么?
而且为什么在 Python 控制台解释器中,这个
x = input()
会发送一个错误,但如果我把它放在一个 file.py
文件中运行,却不会出错呢?
admin 更改状态以发布 2023年5月21日
在Python 2.x中,raw_input()
返回一个字符串,而input()
在执行上下文中评估输入
>>> x = input() "hello" >>> y = input() x + " world" >>> y 'hello world'
\n在Python 3.x中,input
已被取消,以前称为raw_input
的函数现在是input
。因此,如果您需要旧功能,则必须手动调用compile
,然后调用eval
。
python2.x python3.x raw_input() --------------> input() input() -------------------> eval(input())
\n在3.x中,上面的会话如下所示
>>> x = eval(input()) 'hello' >>> y = eval(input()) x + ' world' >>> y 'hello world' >>>
\n因此,您可能在解释器中得到错误,因为您没有在输入周围添加引号。这是必要的,因为它会被评估。您是否遇到名称错误?