print(input()+ input())如何在python中工作?没有变量分配?

时间:2018-12-11 11:47:03

标签: python input printing

a = input()
b = input()
print(a+b)

这可以写成 print(input()+input()),它可以工作。 它是如何工作的?输入在哪里临时存储?

3 个答案:

答案 0 :(得分:5)

前提:input()只是一个常规函数,它将阻塞直到用户键入内容为止。完成后,将评估并返回数据。

撇开这些内容,您的声明由以下几部分组成:

print(...)是一个函数调用,它打印括号内的表达式结果

表达式input() + input()。由于operator()的优先级高于operator+,因此两个input()调用将在求和之前求值。

input()结果是一个未命名的临时变量,仅在评估整个表达式之前,该变量一直存在。一旦执行+,临时变量将有效丢失(并最终被垃圾回收)。

答案 1 :(得分:0)

请不要忘记输入本身就是一个函数,因此将值存储为函数本身的过程部分。输出是简单的返回,因此为什么您可以不带参数地自由调用该函数,并且也将其分开。

def input(*kwargs):
    eval(raw_input(prompt))

仅仅因为它看起来不像一个复杂的函数,并不意味着它不是。

https://docs.python.org/2/library/functions.html#input

答案 2 :(得分:-3)

input()从提示符返回输入值。

可以通过立即返回而不是保存临时存储库来实现。