为什么 True & True 给出 False?
Why does True & True give False?
>>> 5 > 4 & 6 > 5
如果5 > 4
是True
且6 > 5
也是True
,为什么上面的表达式在Python中给出False
?
因为&
(按位“与”)的优先级高于>
,所以5 > 4 & 6 > 5
实际上被计算为5 > 4 > 5
这显然是False
.
Operator precedence 在 Python 个文档上。
在python中,&
运算符表示bitwise AND operator,它基本上采用整数的二进制形式,并用第二个数字掩盖第一个数字的二进制形式。
例如10 & 3
returns 2
因为10
的二进制形式是1010
,加上掩码3
,我们取最后三位数字,并找到生成的二进制文件的值。在这种情况下,它是 010
,十进制是 2
.
您要查找的运算符是文字 and
运算符!:
>>> 5 > 4 and 6 > 5
True
或者更好(我相信你已经知道了):
>>> 6 > 5 > 4
True
>>> 5 > 4 & 6 > 5
如果5 > 4
是True
且6 > 5
也是True
,为什么上面的表达式在Python中给出False
?
因为&
(按位“与”)的优先级高于>
,所以5 > 4 & 6 > 5
实际上被计算为5 > 4 > 5
这显然是False
.
Operator precedence 在 Python 个文档上。
在python中,&
运算符表示bitwise AND operator,它基本上采用整数的二进制形式,并用第二个数字掩盖第一个数字的二进制形式。
例如10 & 3
returns 2
因为10
的二进制形式是1010
,加上掩码3
,我们取最后三位数字,并找到生成的二进制文件的值。在这种情况下,它是 010
,十进制是 2
.
您要查找的运算符是文字 and
运算符!:
>>> 5 > 4 and 6 > 5
True
或者更好(我相信你已经知道了):
>>> 6 > 5 > 4
True