小编ger*_*ber的帖子

为什么(0> 1 + 0> 9)返回False,但((0> 1)+(0> 9))返回0?

在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)

python python-2.7 python-3.x

2
推荐指数
1
解决办法
73
查看次数

标签 统计

python ×1

python-2.7 ×1

python-3.x ×1