退出Python函数调用

1 投票
3 回答
15769 浏览
提问于 2025-04-17 01:59

我的程序怎么才能退出一个函数调用呢?我有一个递归函数,当满足某个条件时,它会自己调用自己。

def function( arg ):
    if (condition):
        ...
        return function( arg + 1 )

我猜测它的工作原理是:如果条件不满足,函数调用就会结束。但在我的程序中,似乎并不是这样——条件被违反了,但程序却跳到了返回语句那里(也许是它看到的唯一一个返回语句?)。

有没有什么类似exit()的东西可以放在else语句里呢?

3 个回答

-1

如果一个Python函数没有明确地使用return返回一个值,那么它会默认返回None。这个隐含的return None就像在C语言等其他语言中直接写return一样。

0

一个“函数终止”意味着它会返回 None。如果你看到的结果不一样,那可能是因为你实际上触发了你看到的 return,但它可能缩进不正确。你可以使用 python -tt myscript.py 来检查一下,确保你没有把制表符和空格混在一起。

3

根据你提供的代码,它总是会返回 None。这段代码会一直进行递归,也就是不断地调用自己,直到某个条件不再满足,然后就会结束这个函数,最后返回 None

比如,你可以试试这个:

def f(x):
    if (x<10):
        return f(x+1)
    return x

然后在这个基础上继续改进,做一些有用的事情。

撰写回答