【发布时间】:2013-06-23 18:18:34
【问题描述】:
在下面的例子中
print ("How old are you?" , input("please input"))
执行它时,为什么它在打印“你多大了?”之前要求输入提示? print语句的执行顺序是什么?
【问题讨论】:
-
一般来说,在其他表达式(如 print )。
在下面的例子中
print ("How old are you?" , input("please input"))
执行它时,为什么它在打印“你多大了?”之前要求输入提示? print语句的执行顺序是什么?
【问题讨论】:
您传递给print() 函数的任何内容都必须首先执行。 Python 怎么会知道将什么传递给 print() 函数?
一般来说,为了让 Python 调用一个函数,您首先需要确定您传递给该函数的值。见Calls expression documentation:
在尝试调用之前评估所有参数表达式。
调用print() 你传入一个字符串("How old are you?"),以及调用input("please input") 的结果。 Python 必须先执行这些子表达式,然后才能调用print()。
在这种特定情况下,只需使用How old are you? 作为input() 提示符:
age = input("How old are you? ")
不要打扰print()。
如果您确实想先在单独的行上打印How old are you?,请调用print(),只需该字符串,然后在单独的行上,调用input():
print("How old are you?")
age = input("please input")
请注意,input() 返回用户输入的任何字符串,您希望将其存储在某处。在我的示例中,age 是“某处”。
【讨论】:
print()。他们都需要在调用print()之前进行评估。