返回结果和在函数末尾打印结果之间的最佳方式是什么?

2024-04-19 04:45:55 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我们定义了一个函数,然后以:

def function():
     # ...
     return result
# To see the result, we need to type:
print(function())

另一个选择是用print结束函数:

^{pr2}$

问题:我可以用return语句结束函数,还是通过function()获取它?
我的意思是我不在乎函数是否保存结果。但是函数可能有几个不同的结果,即我需要在某个点退出循环。其主要思想是将输出显示在屏幕上。
所以,请让我知道我的变体是好的还是不是“优雅”的编码。谢谢!在


Tags: theto函数return定义deftypefunction
3条回答

print函数不会返回任何内容;它只会将内容作为输出打印到控制台。因此,从print函数返回值实际上没有多大意义。根据定义,您没有返回任何内容。在

因此,除非您想提前结束函数,否则在本例中没有理由使用return。只需打印结果(不使用return)就可以了,而且更加清晰。在

另外,如果您想返回print函数打印的实际内容,那么您应该这样做,并让调用者决定是否打印它。在

如果您想使用print(function())(在我看来这是最合理的),那么只需从函数返回结果:

def function ():
    # ...
    return result

如果你return print(result),你实际上是在做return None,因为print()返回{}。所以这没什么意义。在

我认为return result并让调用者决定是print()还是用它做其他任何事情,这样做会更干净。在

最简洁的方法是使用return语句。一般来说,函数返回一个结果,这个结果可以由另一个算法处理。在你的例子中,也许你不需要在变量中得到结果,但是想象一下你在1周内,一个月后。。。在

最好的方法是在主程序本身委托print。您将更容易地管理程序中的数据,而且,正如我所说,您可以链接函数。在

假设两个函数a(arg)和{}返回两个计算。使用b函数中的print语句,您将无法执行以下操作:

a(b(10))

因为a将在参数中接收一个None值(因为函数在默认情况下返回None,这就是末尾的print语句的情况)。在

TL;DR:大部分时间都遵循这种模式:

^{pr2}$

相关问题 更多 >