当前位置: 首页 > 面试题库 >

Python 2.x和3.x中输入命令之间的差异

葛修真
2023-03-14
问题内容

好的,所以我使用了很多输入命令,并且我了解在Python2中我可以做到:

text = raw_input ('Text here')

但是现在我使用Python 3,我想知道两者之间有什么区别:

text = input('Text here')

和:

text = eval(input('Text here'))

我什么时候必须使用一个或另一个?


问题答案:

在Python 3.x中,raw_input成为inputinput并删除了Python2.x 。因此,通过在3.x中执行此操作:

text = input('Text here')

您基本上是在2.x中执行此操作:

text = raw_input('Text here')

在3.x中执行以下操作:

text = eval(input('Text here'))

与在2.x中执行此操作相同:

text = input('Text here')

以下是Python文档的快速摘要:

PEP 3111:raw_input()重命名为input()。也就是说,新input()
函数从中读取一行,sys.stdin并在结尾的换行符被删除的情况下返回它。EOFError如果输入过早终止,它将触发
。要获取旧行为input(),请使用eval(input())



 类似资料:
  • 我对Numpy中和之间的区别感到困惑。 例如,我有一个二维数组 当我尝试打印和时,它们都给了我相同的输出: 但是,当我试图通过添加一个维度来广播它时 他们给了我不同的结果。 我试图找出区别,但不能。

  • 本文向大家介绍深入浅析Python2.x和3.x版本的主要区别,包括了深入浅析Python2.x和3.x版本的主要区别的使用技巧和注意事项,需要的朋友参考一下 版本说明 Python 3.0在设计的时候没有考虑向较早版本相容 Python 2.6作为一个过渡版本,基本使用了Python 2.x的语法和库,同时考虑了向Python 3.0的迁移,允许使用部分Python 3.0的语法与函数。   除

  • Python的3​​.0版本,常被称为Python 3000,或简称Py3k。相对于Python的早期版本,这是一个较大的升级。 为了不带入过多的累赘,Python 3.0在设计的时候没有考虑向下相容。 许多针对早期Python版本设计的程式都无法在Python 3.0上正常执行。 为了照顾现有程式,Python 2.6作为一个过渡版本,基本使用了Python 2.x的语法和库,同时考虑了向Pyt

  • Python的3​​.0版本,常被称为Python 3000,或简称Py3k。相对于Python的早期版本,这是一个较大的升级。 为了不带入过多的累赘,Python 3.0在设计的时候没有考虑向下相容。 许多针对早期Python版本设计的程式都无法在Python 3.0上正常执行。 为了照顾现有程式,Python 2.6作为一个过渡版本,基本使用了Python 2.x的语法和库,同时考虑了向Pyt

  • 问题内容: 在下一个稳定的AngularJS发行时,我将应用程序从 1.0.8 迁移到 1.2 。 在AngularJS 1.0.8中 ,可以为诸如的指令设置隔离范围。然后,该指令将使用其自己的功能而不是控制器的功能。 Java脚本 在AngularJS 1.2中, 此行为不再起作用。单击该按钮将立即激活控制器的功能。 参见以下jsFiddle比较: 角1.0.8 角1.2.0 到底发生了什么变化

  • 问题内容: 在Python中,我不太清楚以下两行代码之间的区别: 要么 他们不是都只是从模块X导入所有内容吗?有什么不同? 问题答案: 之后,你可以参考的东西一样。之后,您可以像一样直接引用事物。因为第二种形式将名称直接导入到本地名称空间,所以如果您从许多模块中导入内容,则可能会产生冲突。因此,不鼓励使用。 您也可以执行,仅将导入到本地名称空间,而不导入中的所有内容。这样做会更好,因为如果您列出了