【发布时间】:2016-02-11 21:37:44
【问题描述】:
假设我有这个功能:
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.02 美元,物有所值。我在具有深度嵌套函数调用的程序上工作了很多。将打印件放在可能的最高级别通常是好的,因为它们越深,打印的次数越多,而且通常输出变得很麻烦。然后你必须重新挖掘你的代码以找到所有的杂散打印。这导致了另一个提示:始终标记打印语句,而不仅仅是
print (function(a)),而是print "my function result = ", function(a)。这也使得以后删除它们变得更加容易,因为您有一个要搜索的文字字符串。 -
完全取决于您的用例。通常使用
return,以防您要将函数的结果读入变量并在函数外使用。在您的示例中,c的值在函数之外将不可用(对于任何类型的计算)。同时使用 print 和 return 也不合逻辑,因为它会干扰您对返回值的使用 -
@letsc 您最后的陈述不正确。您可以打印然后返回就好了。
标签: python function python-3.x printing return