之前看书老是把return和print搞混,常常误以为return的功能和print的功能是相同的。其实不然,下面我们来探究一下它们的不同:
代码(1)
def a(b,c):
d=b+c
return d
a(1,2)
运行结果:
3
代码(2)
def a(b,c):
d=b+c
return d
e=a(1,2)
print(e)
运行结果:
3
代码(3)
def a(b,c):
d=b+c
print(d)
a(1,2)
运行结果:
3
代码(4)
def a(b,c):
d=b+c
print(d)
e=a(1,2)
print(e)
运行结果:
3
None
比较代码(1)和(3):这里代码(1)的结果是打印返回值而得到的,只跟最后d的结果有关,跟函数运算过程无关,而代码(3)的结果是打印函数d=b+c而得到,打印过程执行了函数的运算过程,与运算过程有关。
比较代码(2)和(4):对于代码(2)中的“e=a(1,2)”,函数运算之后得出的一个返回值(不会打印出来)。返回值用a(1,2)表示,然后赋值给e;对于代码(4),函数中执行了print(d),并没有把这个值传递给a(1,2),此时a(1,2)代表空值,所以此时将a(1,2)赋值给e,执行print(e)得到空值None.
总结:使用return能将执行结果返回到含具体参数的函数中,可以赋值给其它参数,使用print则没有返回值,运算结束后不能调用函数。
在Jupyter notebook上的实操: