我发现以下两个陈述之间存在差异.
message = "a is " + "greater than" if a > 10 else "less than" if a <10 else "equal to" + " 10"
Run Code Online (Sandbox Code Playgroud)
和
message = "a is " + ("greater than" if a > 10 else ("less than" if a <10 else "equal to")) + " 10"
Run Code Online (Sandbox Code Playgroud)
有人可以解释这里发生了什么
第一个被解释为:
("a is "+"greater than") if a > 10 else "less than" if a < 10 else ("equal to"+" 10")
Run Code Online (Sandbox Code Playgroud)
请参阅文档:"条件表达式具有所有Python操作的最低优先级."
这就是为什么你可以选择用括号分组表达式的部分内容.