“Python3.x中的raw_input()和input()有什么区别?”

2024-04-25 16:49:27 发布

您现在位置:Python中文网/ 问答频道 /正文

python3.x中的raw_input()input()有什么区别?


Tags: inputrawpython3区别
3条回答

在Python中,raw_input()返回一个字符串,然后input()尝试将输入作为Python表达式运行。

因为获得字符串几乎总是您想要的,所以Python 3使用input()来实现这一点。正如斯文所说,如果你想要旧的行为,eval(input())起作用。

Python2:

  • raw_input()获取用户键入的内容并将其作为字符串传回。

  • input()首先获取raw_input(),然后对其执行eval()

主要区别在于input()需要一个语法正确的python语句,而raw_input()不需要。

Python3:

  • raw_input()被重命名为input(),所以现在input()返回确切的字符串。
  • 旧的input()被删除。

如果要使用旧的input(),这意味着您需要将用户输入作为python语句进行求值,则必须使用eval(input())手动执行。

区别在于,raw_input()在Python 3.x中不存在,而input()存在。实际上,旧的raw_input()已重命名为input(),旧的input()已不复存在,但可以使用eval(input())轻松模拟。(记住eval()是邪恶的。如果可能,尝试使用更安全的方法解析输入。)

相关问题 更多 >