Python 函数 - 打印或 return?

Python functions - print or return?

我认为这可能是所有问题中最愚蠢的问题之一,但我并没有真正理解这些函数,一件事是关于“return”[=14= 的使用]

那么,让我们想象一个简单的例子,我想问候我的函数(通过说“你好函数!”)并为此使用一个函数。

所以我应该像这样在函数中使用打印语句:

def hello_func (greeting):
    print (f'{greeting} function!')

greeting = 'Hi'

hello_func(greeting)

或者我应该 return 函数中的值:

def hello_func (greeting):
    return (f'{greeting} function!')

greeting = 'Hi'

print (hello_func(greeting))

输出是相同的(嗨,功能!)...所以在这种特殊情况下,我使用什么并不重要,或者是否有“更好”的代码?

谢谢。

返回会是更好的做法。

return根据您对此问候语功能的选择进行打印或打印。

有时需要在其他地方使用函数return值;在那一刻,有必要使用 return 声明,您可以在其他地方使用该函数 return 值。

在功能上,最大的区别是在你的第二个例子中,你可以将返回值保存到一个变量中。然后你可以随心所欲地操作它:

def hello_func (greeting):
    return (f'{greeting} function!')

greeting = 'Hi'

result = hello_func(greeting)  # Function is only called once

print(result)  # Displays the result
print(result + "!!!")  # Does stuff with result
print(result + "?????")  # Does even more stuff with result
print(result == 'Hello')  # Compares the result to something
newest_result = result + "foo bar"  # Creates a new variable based on result
print(newest_result)  # Displays the new variable

这意味着您只需要执行一次hello_func,然后将其结果保存到一个变量中,然后由您的程序进一步处理。如果 hello_func 是一个需要花费大量时间执行的昂贵函数,这就变得更加重要。

决定采用第一种还是第二种方法时要问的关键问题是:您只想在屏幕上显示结果,还是想将结果保存到内存中,稍后在您的程序中使用它?

总的来说,这取决于你想做什么。

例如,如果您正在打印错误,请打印它。 或者,如果您正在处理字符串,则 return.

无论如何,要牢记目的。