【问题标题】:What's the difference from printing a function and calling a function in Python? [duplicate]在 Python 中打印函数和调用函数有什么区别? [复制]
【发布时间】:2021-12-06 22:46:09
【问题描述】:

我有点困惑,为什么 return 语句在我调用函数时不起作用,但在我打印它时会起作用。下面是我使用的代码示例。

def get_favorite_food(): 
     food = input("What's your favorite food?")
     return 'Your favorite food' + ' ' + food + ' ' + 'is ready!'

当我尝试运行时:

get_favorite_food()
>>>
Whats your favorite food?Macaroni

相比:

print(get_favorite_food())
>>>
Whats your favorite food?Macaroni
Your favorite food Macaroni is ready! 

如果我在问题中使用了不正确的措辞,我深表歉意。请纠正我,以便我为自己和其他人改写问题!

【问题讨论】:

  • 这可能是一个简单的问题,但至少格式正确。所以尝试点:)
  • 它有点帮助,但我无法将它与运行调用函数 get_favorite_food() 与运行 print(get_favorite_food()) 的问题联系起来编辑:这很有意义。我必须为函数分配一个变量,该函数存储返回值,就像他们在字典问题中解释的那样。

标签: python function printing return


【解决方案1】:

当你调用一个返回值的函数时,你应该为函数调用分配一个变量来存储返回值。

def get_favorite_food(): 
     food = input("What's your favorite food?")
     return 'Your favorite food' + ' ' + food + ' ' + 'is ready!'

result = get_favorite_food()
print(result)

在打印函数调用的情况下,返回值无需存储,直接打印。

【讨论】:

  • 谢谢!!我没有意识到打印函数调用会直接打印返回语句,而在不分配变量的情况下调用它不会因为它不存储返回值。我假设这是因为“垃圾收集”对吧?
  • @Rohit 是的,但几乎所有编程语言都是如此。如果需要,您可以调用函数并忽略其返回值。或者你可以将返回值存储在一个变量中,或者你可以打印它,或者记录它,或者将它作为参数传递给另一个函数,等等。或者你可以考虑使用返回的 anything价值,包括什么都不做。
  • 是的,@aneroid 解释的很正确。
猜你喜欢
  • 2022-12-11
  • 1970-01-01
  • 2013-03-30
  • 2011-06-16
  • 1970-01-01
  • 2015-03-15
相关资源
最近更新 更多