我的程序如何退出函数调用?我有一个递归函数,当条件满足时,调用自身。
def function( arg ):
if (condition):
...
return function( arg + 1 )
我猜它是如何工作的:如果不满足条件,函数调用将终止。在我的程序中,情况似乎并非如此 - 条件被违反但程序跳转到return语句(可能是它看到的唯一return语句?)。
我可以在else子句中放入某种exit()吗?
答案 0 :(得分:3)
如上所列,您的代码将始终返回None
。它遍历所有递归,直到条件不满足为止,然后退出函数的末尾并返回None
。
例如,试试这个:
def f(x):
if (x<10):
return f(x+1)
return x
并从中积累起来做一些有用的事情。
答案 1 :(得分:0)
如果Python函数没有明确return
一个值,则返回None
。隐式return None
与C语言中的return
类似。
答案 2 :(得分:0)
“函数终止”会导致它返回None
。如果你看到不同的东西,它很可能会击中你看到的return
,因为它可能是错误的缩进。使用python -tt myscript.py
验证您没有混合制表符和空格。