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

输入和原始输入之间的区别

谭光辉
2023-03-14
问题内容

在一个教程中,我读到input和之间有区别raw_input。我发现它们改变了Python 3.0中这些函数的行为。什么是新行为?

以及为什么在python控制台解释器中

x = input()

发送错误,但是如果我将其放在file.py中并运行它,不是吗?


问题答案:

在python 2.x中,raw_input()返回一个字符串并input()在调用它的执行上下文中评估输入

>>> x = input()
"hello"
>>> y = input()
x + " world"
>>> y
'hello world'

在python 3.x中,input已被废弃,该函数以前称为raw_inputnow
input。因此,您必须手动调用,compile而不是eval想要旧功能。

python2.x                    python3.x

raw_input()   --------------> input()               
input()  -------------------> eval(input())

在3.x中,以上会话如下所示

>>> x = eval(input())
'hello'
>>> y = eval(input())
x + ' world'
>>> y
'hello world'
>>>

因此,您可能在解释器中遇到了错误,因为您没有在输入中加上引号。这是必需的,因为已对其进行了评估。您在哪里收到名称错误?



 类似资料:
  • 问题:我希望每次子组件绑定到的对象中的属性发生变化时都能够调用一个函数。但是,setter只被调用一次,即使绑定的输入属性可以明显看到正在更新。 这一切都源于需要将子组件绑定到其父组件属性,该属性恰好是具有深度嵌套属性的复杂对象。我了解到,当对象中的嵌套属性发生更改时,Angular onChange 事件不会触发。因此决定改用吸气剂/二传手。然而,正如这个问题所见,使用吸气剂/设置器也不起作用。

  • 本文向大家介绍python2和python3的输入和输出区别介绍,包括了python2和python3的输入和输出区别介绍的使用技巧和注意事项,需要的朋友参考一下 Python3 输入和输出 输出格式美化 Python两种输出值的方式: 表达式语句和 print() 函数。 第三种方式是使用文件对象的 write() 方法,标准输出文件可以用 sys.stdout 引用。 如果你希望输出的形式更加

  • 输出 用print加上字符串,就可以向屏幕上输出指定的文字。比如输出'hello, world',用代码实现如下: >>> print 'hello, world' print语句也可以跟上多个字符串,用逗号“,”隔开,就可以连成一串输出: >>> print 'The quick brown fox', 'jumps over', 'the lazy dog' The quick brown

  • 输出 用print()在括号中加上字符串,就可以向屏幕上输出指定的文字。比如输出'hello, world',用代码实现如下: >>> print('hello, world') print()函数也可以接受多个字符串,用逗号“,”隔开,就可以连成一串输出: >>> print('The quick brown fox', 'jumps over', 'the lazy dog') The qu

  • 我在服务器端ti get post变量中编写了一个php代码。

  • 到目前为止,我们讨论的所有示例本质上都是静态的。在本章中,我们将学习如何Haskell与用户动态交互。学习Haskell中使用的不同输入和输出技术。 1. 文件和流 到目前为止,我们已经对程序本身中的所有输入进行了硬编码,在前面学习的内容中都是从静态变量获取输入。本小节中,我们学习如何从外部文件读取和写入。 创建一个文件并命名为abc.txt。接下来,在此文本文件中输入以下一行: 接下来,我们将编