递归代码返回None

Hei*_*urt 3 python recursion return nonetype

我真的不明白,为什么代码

def isIn(char, aStr): 
    ms = len(aStr)/2
    if aStr[ms] == char:
        print 'i am here now'
        return True
    elif char>aStr[ms] and not ms == len(aStr)-1:
        aStr = aStr[ms+1:]
    elif char <aStr[ms] and not ms == 0:
        aStr = aStr[0:ms]
    else:
        return False
    isIn(char, aStr)

print isIn('a', 'ab')
Run Code Online (Sandbox Code Playgroud)

继续返回无.它打印'我现在在这里',但它不会返回True,就像下一行所说的那样.为什么?

ars*_*jii 6

你可能想return在最后一行:

return isIn(char, aStr)
Run Code Online (Sandbox Code Playgroud)

没有它,该函数只是None在终止时返回,而不会看到return.