Python3中的raw_input()
和input()
有什么不同?
发布于 2011-02-06 18:53:25
不同之处在于Python3.x中不存在raw_input()
,而input()
中存在。实际上,旧的raw_input()
已经被重命名为input()
,旧的input()
也消失了,但是可以很容易地使用eval(input())
来模拟。(请记住,eval()
是邪恶的。如果可能的话,尝试使用更安全的方法来解析输入。)
发布于 2011-02-06 19:01:43
在PythonPython2中,raw_input()
返回一个字符串,input()
尝试将输入作为Python表达式运行。
因为获取字符串几乎总是您想要的,所以Python3使用input()
实现了这一点。正如斯文所说,如果你想要旧的行为,eval(input())
是有效的。
发布于 2013-02-28 07:07:50
Python 2:
raw_input()
完全接受用户键入的内容,并将其作为字符串传回。input()
首先获取raw_input()
,然后还对其执行eval()
。主要区别在于input()
需要语法正确的python语句,而raw_input()
不需要。
Python 3:
raw_input()
已重命名为input()
,因此现在input()
返回确切的字符串。input()
已删除。如果您希望使用旧的input()
,这意味着您需要将用户输入作为python语句进行求值,则必须使用eval(input())
手动执行此操作。
https://stackoverflow.com/questions/4915361
复制相似问题