gpt4 book ai didi

python if - else 运算符优先级

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

我在 Python 中遇到了一个非常糟糕的 if - else 运算符示例,其中代码看起来不错,但结果与预期完全不同。这是一个简短的版本:

1 + 4 if None else 3  # returns 3

查看 Operator Precedence在文档中的表中,似乎 if - else 的优先级几乎是最低的。

if - else 是否有任何特殊之处,将 if 左侧的所有内容视为一个表达式?

最佳答案

嗯,None 总是假的,所以你总是得到 3。

如果您使用真值而不是 None,则

1 + 4 将是结果:

1 + 4 if True else 3

给出 5。

那正是因为低优先级:它是一样的

(1 + 4) if ... else 3

如您所知,if ...else 的优先级低于 +

关于python if - else 运算符优先级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28052474/

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