gpt4 book ai didi

python - Python 中 If/Elif 语句的“最终”等价物

转载 作者:IT老高 更新时间:2023-10-28 20:41:33 25 4
gpt4 key购买 nike

Python 是否有与其 if/else 语句等效的 finally 语句,类似于它的 try/except/finally 语句?可以让我们简化这一点的东西:

 if condition1:
do stuff
clean up
elif condition2:
do stuff
clean up
elif condition3:
do stuff
clean up
...
...

到这里:

 if condition1:
do stuff
elif condition2:
do stuff
elif condition3:
do stuff
...
...
finally:
clean up

finally 只有在满足条件并且它的“do stuff”运行后才会被调用?相反,如果不满足任何条件,则不会运行 finally 代码。

我讨厌说亵渎神明,但我能描述它的最好方式是在每个“do stuff” block 的末尾都有一个 GOTO 语句导致 finally.

本质上,它与 else 语句相反。虽然 else 仅在不满足其他条件时运行,但只有在满足另一个条件时才会运行。

最佳答案

可以像这样完全不被黑客攻击:

def function(x,y,z):
if condition1:
blah
elif condition2:
blah2
else:
return False

#finally!
clean up stuff.

在某些方面,并不像您必须使用单独的函数那样方便。然而,无论如何不要做太长的函数的好习惯。将您的逻辑分成易于阅读的小函数(通常最多 1 页长),可以更轻松地测试、记录和理解执行流程。

需要注意的一点是,finally 子句在发生异常时不会运行。为此,您还需要在其中添加 try: 内容。

关于python - Python 中 If/Elif 语句的“最终”等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21612910/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com