[英]Missing “return” at the end of the function Python
一个很愚蠢的问题,但是...
def gcd(a, b):
if a < b:
a, b = b, a
if a == 0:
return b
elif b == 0:
return a
return gcd(b, a % b)
因此,当函数末尾没有return
时,为什么代码将返回None
? 当递归调用a
或b
最终等于0
,它满足if
条件吗? 然后,它应该返回非零值。
如果a
和b
都不等于零,则前两个return语句中的任何一个都不执行。
如果没有最终的返回,控制流将到达函数的末尾而不会命中return语句,因此将返回默认值None
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.