a = input()
b = input()
print(a+b)
这可以写成
print(input()+input())
,它可以工作。
它是如何工作的?输入在哪里临时存储?
答案 0 :(得分:5)
前提:input()
只是一个常规函数,它将阻塞直到用户键入内容为止。完成后,将评估并返回数据。
撇开这些内容,您的声明由以下几部分组成:
print(...)
是一个函数调用,它打印括号内的表达式的结果。
表达式为input() + input()
。由于operator()
的优先级高于operator+
,因此两个input()
调用将在求和之前求值。
input()
的结果是一个未命名的临时变量,仅在评估整个表达式之前,该变量一直存在。一旦执行+
,临时变量将有效丢失(并最终被垃圾回收)。
答案 1 :(得分:0)
请不要忘记输入本身就是一个函数,因此将值存储为函数本身的过程部分。输出是简单的返回,因此为什么您可以不带参数地自由调用该函数,并且也将其分开。
def input(*kwargs):
eval(raw_input(prompt))
仅仅因为它看起来不像一个复杂的函数,并不意味着它不是。
答案 2 :(得分:-3)
input()从提示符返回输入值。
可以通过立即返回而不是保存临时存储库来实现。