正如其他评论者所指出的,一个函数为您提供了使用 return 从脚本中的任何位置退出的选项,这可能是最好的选择 - 我只是想我会提到一件琐事:
从技术上讲 sys.exit 引发了 SystemExit 异常。您可以使用普通的 try-catch 捕获 SystemExit,如果您愿意,可以有效地“取消”退出。如果您有更复杂的代码,其中低级函数可能没有足够的上下文来做出正确的决定,但更高级别的代码可能想要介入并清理,这可能会派上用场。
来自 C/C++ 和许多其他语言的人从这种策略中得到了蜂巢,但这在 Pythonland 中并不少见。一般来说,使用异常来进行流控制并不是一个好主意,但如果您正在使用其他人的功能,或者将较小的脚本组合到较大的应用程序中,它可能会很有用。
顺便说一句,不要忘记,如果控制权落到脚本的底部,无论如何它只会返回“无”,所以在你的例子中:
if x != 20:
query = raw_input("X does not equal 20. Do you want to continue? (Y/N)")
if query in ['y', 'Y']:
// do something
是相同的
if x != 20:
query = raw_input("X does not equal 20. Do you want to continue? (Y/N)")
if query in ['y', 'Y']:
// do something
else:
sys.exit()
除了您可以尝试/赶上第二个但不是第一个的事实...尽管我假设您的示例是从更大的样本中截取的,其中 return 是更好的逃生路线