python 递归里的return

 

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里,在每次递归的时候都会返回函数的结果值。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值