“打印”和“返回”之间的形式区别是什么?

“打印”和“返回”之间的形式区别是什么?

假设我定义了一个简单的函数,它将显示传递给它的整数:

def funct1(param1):
    print(param1)
    return(param1)

输出将是相同的,但是我知道当return语句在函数中使用,输出可以再次使用。否则,则为print语句无法使用。但我知道这不是正式的定义,有人能给我一个好的定义吗?


catspeake
浏览 658回答 3
3回答

慕码人2483693

带着print()的值将显示给标准输出。param1,同时return你会派param1打电话的人。这两种说法的含义非常不同,你不应该看到同样的行为。张贴你的整个程序,它将更容易指出的差异,你。编辑:正如其他人所指出的,如果您在一个交互式pythonshell中,您会看到同样的效果(值是打印出来的),但这是因为shell计算表达式并打印它们的输出。在本例中,一个函数具有return语句作为return因此返回值被回显。不要让交互式的shell欺骗你!:)

DIEA

print(或print()如果您使用的是Python 3),则可以准确地打印关键字后面的任何内容。它还会做一些很好的事情,比如用一个空格自动连接多个值:print 1, '2', 'three'# 1 2 three不然的话print (print())从程序的角度来看,什么也不做。它不会以任何方式影响控制流,并且将在代码块中的下一个指令中恢复执行:def foo():     print 'hello'     print 'again'     print 'and again'另一方面return(不是return())设计为立即中断控制流并退出当前函数,并将指定的值返回给调用函数的调用者。它总是这么做的,就这样。return它本身不会导致任何东西被打印到屏幕上。即使不指定返回值,也是隐式的None会被归还。如果你跳过return总之,一个含蓄的return None仍然会在您的功能结束时发生:def foo(y):     print 'hello'     return y + 1     print 'this place in code will never get reached :('print foo(5)# hello# 6def bar():     return # implicit return Noneprint bar() is None# Truedef baz(y):     x = y * 2     # implicit return Nonez = baz()print z is None# True你看到的原因return打印到屏幕上的Ed值是因为您可能使用的是交互式Python shell,它会自动运行。printIt‘为了您自己的方便,有什么结果吗?
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python