Python 递归返回 None

2024-03-28

这真的会很有趣... 给出以下python codes:

def getBinary(binaryInput, kSize, beginBit):
    if int(binaryInput[beginBit + kSize-1])==1:
        print 'entered!!!'
        shortE = binaryInput[beginBit:kSize+beginBit]
        print 'shortE is now: ', shortE
        print 'kSize is now: ', kSize
        return (shortE,kSize)
    else :
        print 'else entered...'
        kSize -=1
        getBinary(binaryInput, kSize, beginBit)

result = getBinary("{0:b}".format(6), 3, 0)
print result

输出是:

else entered...
entered!!!
shortE is now:  11
kSize is now:  2
None

我的意思是自从shortE是 11 并且kSize是2,为什么返回值是None?


当一个函数结束但没有执行return语句,它返回None。代替

getBinary(binaryInput, kSize, beginBit)

you mean

return getBinary(binaryInput, kSize, beginBit)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 递归返回 None 的相关文章

随机推荐