gpt4 book ai didi

python - 不需要时在 Python 中使用 "else"是否更可取?

转载 作者:太空狗 更新时间:2023-10-29 20:52:18 26 4
gpt4 key购买 nike

我的开发博客实际上使用了 Python 和 Flask。我知道根据语言的不同,建议在不是强制性的情况下使用显式 else ,但我不知道它在 Python 中是如何工作的。

例如,我有一个带有 if 的函数,如果语句为真,它会返回一些东西。所以,else 不是必需的,因为有或没有它,执行都会正常继续。

def foo(bar):
if not isinstance(foo, list):
return "an error"
else: # not necessary
return "something"

所以,我应该像这样使用它,或者像这样:

def foo(bar):
if not isinstance(foo, list):
return "an error"

return "something"

最佳答案

在第一种情况下,Python 会在函数末尾添加一个显式的 return None - 尽管我们可以看到它并不是真正需要的。在第二种情况下,它没有。

我看不到 else: 有什么好处

>>> import dis
>>> def f():
... if 1>2:
... return 2
... return 3
...
>>> def g():
... if 1>2:
... return 2
... else:
... return 3
...
>>> dis.dis(f)
2 0 LOAD_CONST 1 (1)
3 LOAD_CONST 2 (2)
6 COMPARE_OP 4 (>)
9 POP_JUMP_IF_FALSE 16

3 12 LOAD_CONST 2 (2)
15 RETURN_VALUE

4 >> 16 LOAD_CONST 3 (3)
19 RETURN_VALUE
>>> dis.dis(g)
2 0 LOAD_CONST 1 (1)
3 LOAD_CONST 2 (2)
6 COMPARE_OP 4 (>)
9 POP_JUMP_IF_FALSE 16

3 12 LOAD_CONST 2 (2)
15 RETURN_VALUE

5 >> 16 LOAD_CONST 3 (3)
19 RETURN_VALUE
20 LOAD_CONST 0 (None)
23 RETURN_VALUE

关于python - 不需要时在 Python 中使用 "else"是否更可取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14844531/

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