Python 为什么';此条件表达式是否生成语法错误?

Python 为什么';此条件表达式是否生成语法错误?,python,if-statement,syntax-error,conditional,Python,If Statement,Syntax Error,Conditional,当“if”与“or”组合时,哪一个Python优先考虑: 例如: if a == b or c 它是(a==b)还是c,还是a==(b或c)。 我假设正确的逻辑形式应该是前一种,但我无意中使用了: if gender == "m' or "M" 令我惊讶的是,它没有产生任何错误,并且达到了目的 来自: 下表总结了Python中的运算符优先级,从 从最低优先级(最少绑定)到最高优先级(最多绑定) 绑定) 相当于 (a == b) or (c) 如果性别==“m”或“m”则代码的工作方式如

当“if”与“or”组合时,哪一个Python优先考虑: 例如:

if a == b or c
它是
(a==b)还是c
,还是
a==(b或c)
。 我假设正确的逻辑形式应该是前一种,但我无意中使用了:

if gender == "m' or "M" 
令我惊讶的是,它没有产生任何错误,并且达到了目的

来自:

下表总结了Python中的运算符优先级,从 从最低优先级(最少绑定)到最高优先级(最多绑定) 绑定)

相当于

(a == b) or (c)

如果性别==“m”或“m”则代码
的工作方式如下:Is
性别==“m”
?如果是,则结果为
。否则,测试
“m”
的“真实性”。Is
“m”
真吗"? 如果是,则结果为真。要理解这是如何工作的,您应该知道所有对象都有与之相关联的真实性。所有非零整数、非空字符串和数据结构均为
True
<代码>0
0.0
'
[]
{}
集()
都是


有关更多详细信息,请访问

问题显示未进行任何研究。一个简单的SO或谷歌搜索就能找到答案。请阅读并遵循张贴指南:我可以问什么样的问题,以及如何提问:。请记住,还要包括最小的、完整的、可验证的示例:。然后,点击
edit
编辑您的问题,以便我们可以提供帮助。谢谢,这是我一直使用的逻辑。但请你解释一下我在代码中使用的是如何工作的:@COLDSPEED:再次感谢你。我很欣赏这样清楚的解释。
a == b or c
(a == b) or (c)