在python中定义函数的时候,发现既可以用print也可以用return,来输出一个值,那到底return存在的作用是什么?遂参考几篇论文总结一下
1、终止函数并将return值传回
程序运行到所遇到的第一个return即返回(退出def块),不会再运行第二个return。
如果要返回多个值写在一行即可
>>
>
def
a
(
x
,
y
)
:
>>
>
if
x
==
y
:
>>
>
return
x
,
y
但并不意味着一个函数中只有一个return
例
def
odd
(
x
)
:
if
x
%
2
!=
0
:
return
x
else
:
return
None
2、return与print的区别:return返回的值可以传递保存计算
return和print都可以返回值,为什么要用return?
>>
>
def
odd
(
x
)
:
>>
>
if
x
%
2
!=
0
:
>>
>
print
(
x
)
>>
>
else
:
>>
>
print
(
0
)
>>
>
a
=
odd
(
3
)
>>
>
b
=
odd
(
4
)
>>
>
print
(
a
+
b
)
3
0
Type error
在上例中由于没有使用return,所以a的赋值是a = print(3)而非a = 3
这会导致变量无法保存进行计算。所以绝大多数情况下要用return返回值,而非用print打印值。
3、什么时候用print?
如果你的函数只需打印语句,不需要传递值的时候可以使用print代替return
但绝大多数应用中仍需使用return打印值。