让我说我有这个功能:
def function(a)
c = a+b
print(c)
建议在函数中使用print语句来显示输出,而不是在最后放置一个return语句并使用print(function(a))
?
如果我在函数中同时使用print语句和return语句来显示相同的输出,那会有什么影响呢?让我们想象一下,我需要显示c
的答案,然后在其他地方使用c
的值。这会破坏任何编码约定吗?
因此问题的重点不在于print
和return
之间的区别,而是在同一个函数中使用它们并且是否可能产生影响时,它被视为一种好的风格在一个程序上。例如:
def function(a)
c = a+b
print(c)
return c
value = function
print(value)
结果会是两个c
吗?假设c = 5
;因此,输出是否为(?):
5
5
答案 0 :(得分:6)
print
和return
解决了两个完全不同的问题。当以交互方式运行琐碎的例子时,他们出现做同样的事情,但它们完全不同。
如果您确实只想打印结果,请使用print
。如果您需要结果进行进一步计算,请使用return
。除了在调试阶段,如果不使用调试器,print语句有助于查看正在发生的事情,那么使用两者的情况相对较少。
根据经验,我认为避免在函数中添加print
语句是好的,除非函数的明确目的是打印出来。
在所有其他情况下,函数应返回一个值。然后,调用该函数的函数(或人)可以决定打印它,将其写入文件,将其传递给另一个函数等。
因此问题的重点不在于印刷与印刷之间的区别 返回,但如果它被认为是好的风格,使用两者 相同的功能及其对程序的可能影响。
这不是好风格,风格也不错。除了最终打印很多可能不需要打印的东西之外,对程序没有重大影响。
如果您需要同时打印和返回值的功能,那么它是完全可以接受的。一般来说,这种事情很少在编程中完成。它可以追溯到功能设计的概念。如果它是为打印而设计的,那么返回一个值通常没有意义,如果它被设计为返回一个值,那么打印通常没有意义,因为调用者可以根据需要打印它。
答案 1 :(得分:1)
好return
和print
完全是两个不同的过程。
print
将向用户或通过控制台显示信息; return
用于从满足特定目的的方法中收集数据(稍后在整个程序中使用)。
为了回答你的问题,我相信它会回归这两个价值观;因为一个打印 c
变量本身,另一个返回值c
以便呈现?如果我错了,请纠正我。
答案 2 :(得分:0)
我主要使函数返回一个值,然后打印函数的结果。
我总是做的事情(随意忽略这一点):如果函数返回某些内容,我从不打印。这对我自己来说只是一种规则。我这样做,所以我可以告诉输出来自哪里。