如何在Python中退出一个函数

1,465 阅读4分钟

正如我们大多数人可能知道的那样,Python中的函数是一大块代码,在需要时可以重复使用,而不必重复编写。

每个程序都有一个特定的 "流程"。流程指的是一个程序被执行的顺序。在一个程序中,我们有几行代码来初始化变量,接受输入和输出,并经常创建和调用函数。

我们可以有一个或多个函数来执行特定的任务或操作。这些函数可能会也可能不会返回一些值或结果。然而,我们需要为这些函数的运行和执行进行一次函数调用。这是必要的。

一旦函数完全运行,下一步就是退出 该函数。为此,我们有 "返回语句"。返回语句被用来(隐含地或显式地)退出函数。

在Python中使用显式和隐式返回语句退出函数

在这篇文章中,我们将学习如何在Python中借助返回语句退出一个函数。我们可以用两种方式来使用返回:

Python函数中的显式返回

通过显式使用return关键字,你在代码中自己写并使用return语句。这种方法有很多优点,它可以在各种情况下进行。

当我们想停止执行并提前退出函数时(如果满足了某个特定的条件)

在这种情况下,我们只需在我们希望函数的流程不再继续并退出的地方写上 "return"。

例如,我们在这里创建一个函数。我们运行一个从1到10的for循环,并逐一打印这些值。对于每个值 "i",打印后,我们检查它是否等于5。如果不等于5,我们增加 "i "并继续。一旦我们达到 "i=5",就会显示 "提前退出循环"。然后,我们因 "返回 "语句而退出该函数:

输出

当我们想从函数中返回一个将在程序中进一步使用的值时

在这里,我们调用add函数并将其值分配给变量 "value"。然后,控制权转到函数,它接收参数1和2,并将它们分别存储在a和b中。接下来,我们从函数中返回a+b。在这里,a+b被计算出来,其值被返回到调用函数的那一行,并被储存在变量 "value "中。最后,我们打印总和,即3。

输出

Python中的隐式返回

值得注意的是,当控件到达函数的最后一行时,编译器会调用 "return",其值为 "none"。即使你只明确地写 "return "而不传递任何值,你也是在返回 "none"。返回值 "none "意味着函数已经被完全执行,没有返回任何值。所以,当函数结束时,它会隐含地调用返回语句。

让我们举一个例子。

我们创建了一个函数 "solution",我们把一个字符串 "John "分配给变量 "name"。我们检查name是否存储了 "John",打印出来,然后退出函数。如果不匹配,我们通过隐式调用返回语句,不做任何事情就退出函数:

输出

Python退出命令

除了退出函数之外,我们也有可能想结束程序流并突然退出程序的情况。

通常情况下,一旦控制或解释器到达代码的末端,脚本就会退出。然而,我们有一些命令可以帮助我们在内置退出函数的帮助下明确地结束程序。让我们逐一讨论这些函数:

  • quit():这个命令应该只在解释器中使用,因为它只在网站模块被导入时起作用,而不是在生产代码中起作用,也就是说,代码对现实世界的用户开放。
  • exit():它与quit()相同。它也只能在解释器中使用,不能在生产代码中使用。
  • sys.exit([args]):与quit()和exit()不同,由于sys模块的存在,它可以在生产代码中舒适地使用
  • os._exit(n):这个方法退出进程,不需要调用任何清理处理程序,也不需要刷新缓冲区,等等。

你可能已经注意到了,这四个方法的功能几乎都一样。它们都引发SystemExit异常,导致解释器退出,没有堆栈跟踪。

什么是 Python 中的 exit() 函数?

Python的exit()函数是用来直接退出并从代码中出来的。这个函数只由解释器使用,与 quit() 方法同义。exit函数以一个详细的状态关闭程序。

结论

所以,这就是我们在 Python 中退出函数的两种方式。无论哪种方式,都是用 return 语句来退出一个函数。这可以隐含地或显式地进行,如上所述。你应该试着理解这一点并自己实现。这篇文章提到了一些退出命令,可以用来突然退出程序。当你不得不在函数中中途离开时,在Python中使用返回命令退出函数是相当有用的。