gpt4 book ai didi

python - 三元返回/赋值与传统的 if-else block

转载 作者:太空宇宙 更新时间:2023-11-04 01:20:46 25 4
gpt4 key购买 nike

PEP 8不鼓励使用复合语句,但我找不到任何关于 Python 的三元/条件语法的建议用法的信息。例如:

return x if n == 0 else y
i = x if n == 0 else y if n == 1 else z

关于上述语句是否应该优于更传统的 if/else block ,是否存在任何约定?

if n == 0:
return x
return y

if n == 0:
i = x
elif n == 1:
i = y
else:
i = z

最佳答案

通常应该首选“传统的 if/else block ”。

唯一您仍想使用三元运算符的地方是语法需要表达式的地方,例如在 lambda 表达式中。即使在那里,也只有在三元表达式简短且可读的情况下才这样做(当然,可读性是主观的..)

您始终可以用一个小函数替换 lambda 表达式,但在您认为这会降低代码可读性的地方,可以使用带有短三元运算的 lambda 表达式。

关于python - 三元返回/赋值与传统的 if-else block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21423773/

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