Python中return的作用有两个,第一个是终止循环程序,第二个是返回结果值。在一个函数里return只会执行先出现的return语句,后面的return不发挥作用。如果函数里没有return,即没有返回值,在打印函数的时候只会返回None。
def shiyan1(a):
return a
return a*2
def shiyan2(a):
print('下面是shiyan2',a)
print(a*2)
print(shiyan1(1))
print(shiyan2(1))
*****结果如下*****
1
下面是shiyan2 1
2
None
return主要体现在递归函数里,如果没有return,递归函数在递归时只会返回None。
def shiyan3(a):
if a==0:
print(a)
return a
if a >0:
a -= 1
shiyan3(a)
def shiyan4(a):
if a <= 0:
print(a)
return a
if a > 0 :
a -= 1
return shiyan4(a)
print('shiyan3递归结果: ',shiyan3(2))
print('shiyan3没递归结果: ',shiyan3(0))
print('shiyan4递归结果: ',shiyan4(2))
print('shiyan4没递归结果: ',shiyan4(0))
****结果如下****
0
shiyan3递归结果: None
0
shiyan3没递归结果: 0
0
shiyan4递归结果: 0
0
shiyan4没递归结果: 0
shiyan3里,没有使用return,如果进入了递归,虽然执行了函数,但是每次都没有返回值,shiyan4里,在每次递归的时候都会返回函数的结果值。