带有嵌套三元运算符的字符串连接会忽略字符串

我发现以下两个陈述之间存在差异。

message = "a is " + "greater than" if a > 10 else "less than" if a <10 else "equal to" + " 10"

message = "a is " + ("greater than" if a > 10 else ("less than" if a <10 else "equal to")) + " 10"

有人可以解释这里发生了什么


白猪掌柜的
浏览 183回答 1
1回答

繁星点点滴滴

第一个解释为:("a&nbsp;is&nbsp;"+"greater&nbsp;than")&nbsp;if&nbsp;a&nbsp;>&nbsp;10&nbsp;else&nbsp;"less&nbsp;than"&nbsp;if&nbsp;a&nbsp;<&nbsp;10&nbsp;else&nbsp;("equal&nbsp;to"+"&nbsp;10")请参阅文档:“条件表达式在所有 Python 操作中的优先级最低。”这就是为什么您可以选择用括号对表达式的各个部分进行分组的原因。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python