Python 为什么';return语句是否终止函数?

Python 为什么';return语句是否终止函数?,python,python-3.x,recursion,return,Python,Python 3.x,Recursion,Return,它返回none,当在return语句之后使用调试器运行它时,它跳回if子句中的gcd\u fast(a,b)。我对python一窍不通,如果这是一个愚蠢的问题,那么很抱歉。这能回答你的问题吗?(ffs auto comment,我知道它回答了这个问题,为什么我会提出其他建议)您没有在递归调用中返回。返回gcd\u fast(b,rem)?else块不返回任何值 def gcd_fast(a, b): if(b > a): a, b = b, a if(a

它返回none,当在return语句之后使用调试器运行它时,它跳回if子句中的
gcd\u fast(a,b)
。我对python一窍不通,如果这是一个愚蠢的问题,那么很抱歉。

这能回答你的问题吗?(ffs auto comment,我知道它回答了这个问题,为什么我会提出其他建议)您没有在递归调用中返回。
返回gcd\u fast(b,rem)
?else块不返回任何值
def gcd_fast(a, b):
    if(b > a):
        a, b = b, a


    if(a % b == 0):
        return b
    else:
        rem = a % b
        print('C:' + str(rem))
        gcd_fast(b, rem)    
print(gcd_fast(10, 9))
def gcd_fast(a, b):
    if(b > a):
        a, b = b, a


    if(a % b == 0):
        return b
    else:
        rem = a % b
        print('C:' + str(rem))
        return gcd_fast(b, rem)