建议在python函数中使用print语句而不是返回

时间:2015-11-10 21:08:26

标签: python function python-3.x printing return

让我说我有这个功能:

def function(a)
    c = a+b
    print(c)

建议在函数中使用print语句来显示输出,而不是在最后放置一个return语句并使用print(function(a))

如果我在函数中同时使用print语句和return语句来显示相同​​的输出,那会有什么影响呢?让我们想象一下,我需要显示c的答案,然后在其他地方使用c的值。这会破坏任何编码约定吗?

因此问题的重点不在于printreturn之间的区别,而是在同一个函数中使用它们并且是否可能产生影响时,它被视为一种好的风格在一个程序上。例如:

 def function(a)
    c = a+b
    print(c)
    return c
 value = function
 print(value)

结果会是两个c吗?假设c = 5;因此,输出是否为(?):

5
5

3 个答案:

答案 0 :(得分:6)

printreturn解决了两个完全不同的问题。当以交互方式运行琐碎的例子时,他们出现做同样的事情,但它们完全不同。

如果您确实只想打印结果,请使用print。如果您需要结果进行进一步计算,请使用return。除了在调试阶段,如果不使用调试器,print语句有助于查看正在发生的事情,那么使用两者的情况相对较少。

根据经验,我认为避免在函数中添加print语句是好的,除非函数的明确目的是打印出来。

在所有其他情况下,函数应返回一个值。然后,调用该函数的函数(或人)可以决定打印它,将其写入文件,将其传递给另一个函数等。

  

因此问题的重点不在于印刷与印刷之间的区别   返回,但如果它被认为是好的风格,使用两者   相同的功能及其对程序的可能影响。

这不是好风格,风格也不错。除了最终打印很多可能不需要打印的东西之外,对程序没有重大影响。

如果您需要同时打印和返回值的功能,那么它是完全可以接受的。一般来说,这种事情很少在编程中完成。它可以追溯到功能设计的概念。如果它是为打印而设计的,那么返回一个值通常没有意义,如果它被设计为返回一个值,那么打印通常没有意义,因为调用者可以根据需要打印它。

答案 1 :(得分:1)

returnprint完全是两个不同的过程。

print将向用户或通过控制台显示信息; return用于从满足特定目的的方法中收集数据(稍后在整个程序中使用)。

为了回答你的问题,我相信它会回归这两个价值观;因为一个打印 c变量本身,另一个返回c以便呈现?如果我错了,请纠正我。

答案 2 :(得分:0)

我主要使函数返回一个值,然后打印函数的结果。

我总是做的事情(随意忽略这一点):如果函数返回某些内容,我从不打印。这对我自己来说只是一种规则。我这样做,所以我可以告诉输出来自哪里。