print()函数在控制台中写入一个字符串,即“打印”. return语句使您的函数退出并将值传回其调用者.功能一般来说就是接受输入并返回一些东西.当函数准备好向其调用者返回值时,将使用return语句.
例如,这是一个利用print()和return的函数:
def foo():
print("hello from inside of foo")
return 1
现在您可以运行调用foo的代码,如下所示:
if __name__ == '__main__':
print("going to call foo")
x = foo()
print("called foo")
print("foo returned " + str(x))
如果您将此作为脚本(例如.py文件)而不是Python解释器运行,您将获得以下输出:
going to call foo
hello from inside foo
called foo
foo returned 1
我希望这更清楚.解释器将返回值写入控制台,这样我就可以看出为什么有人会感到困惑.
这是解释器的另一个例子,它表明:
>>> def foo():
... print("hello from within foo")
... return 1
...
>>> foo()
hello from within foo
1
>>> def bar():
... return 10 * foo()
...
>>> bar()
hello from within foo
10
您可以看到,当从bar()调用foo()时,1不会写入控制台.相反,它用于计算从bar()返回的值.
print()是一个导致副作用的函数(它在控制台中写入一个字符串),但执行将继续执行下一个语句. return导致函数停止执行并将值移回给调用它的任何值.