在python中添加布尔表达式时,似乎将它们括在括号中会int在添加它们时将它们强制转换,但不这样做会保留它们的类型:
>>> ((0>1) + (0>9))
0
>>> (0>1 + 0>9)
False
>>> (0>1 + (0>9))
False
Run Code Online (Sandbox Code Playgroud)
为什么是这样?在我看来,括号只应该用于改变操作的顺序(除了你使用括号来定义元组的一些情况),而不是内容的类型,所以我希望:
(<expression>) == <expression>
Run Code Online (Sandbox Code Playgroud)