首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Python3中的`raw_input()`和` `input()`有什么区别?

Python3中的`raw_input()`和` `input()`有什么区别?
EN

Stack Overflow用户
提问于 2011-02-06 18:52:35
回答 6查看 341.1K关注 0票数 385

Python3中的raw_input()input()有什么不同?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-02-06 18:53:25

不同之处在于Python3.x中不存在raw_input(),而input()中存在。实际上,旧的raw_input()已经被重命名为input(),旧的input()也消失了,但是可以很容易地使用eval(input())来模拟。(请记住,eval()是邪恶的。如果可能的话,尝试使用更安全的方法来解析输入。)

票数 438
EN

Stack Overflow用户

发布于 2011-02-06 19:01:43

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

因为获取字符串几乎总是您想要的,所以Python3使用input()实现了这一点。正如斯文所说,如果你想要旧的行为,eval(input())是有效的。

票数 195
EN

Stack Overflow用户

发布于 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())手动执行此操作。

票数 120
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4915361

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档