【问题标题】:input prompt in a print statement python在打印语句python中输入提示
【发布时间】:2013-06-23 18:18:34
【问题描述】:

在下面的例子中

print ("How old are you?" , input("please input"))

执行它时,为什么它在打印“你多大了?”之前要求输入提示? print语句的执行顺序是什么?

【问题讨论】:

  • 一般来说,在其他表达式(如 print )。

标签: python input printing


【解决方案1】:

您传递给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()) 函数时,它首先通过 ("How old are you?") 对吗?那不应该先打印吗?
  • @user2524557:不,您将两个参数传递给print()。他们需要在调用print()之前进行评估。
  • @user2524557 您要查找的内容称为Lazy evaluation。很少有语言有这个功能。
猜你喜欢
  • 1970-01-01
  • 2016-09-26
  • 2011-04-23
  • 2021-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-18
相关资源
最近更新 更多