>>> 5 > 4 & 6 > 5
如果5 > 4
是True
,而6 > 5
也是True
,那么为什么上面的表达式在Python语言中会给出True
发布于 2021-03-11 19:00:38
因为&
(按位“与”)比>
具有更高的优先级,所以5 > 4 & 6 > 5
实际上被计算为5 > 4 > 5
,显然是False
。
Python文档上的Operator precedence。
发布于 2021-03-11 19:14:27
在python中,&
操作符表示bitwise AND operator,它基本上采用整数的二进制形式,并用第二个数字掩蔽第一个数字的二进制形式。
例如,10 & 3
返回2
,因为10
的二进制形式是1010
,并且使用3
的掩码,我们取最后三位数,并找到结果二进制的值。在本例中,它是十进制数为2
的010
。
您要查找的运算符是文字and
运算符!:
>>> 5 > 4 and 6 > 5
True
或者更好(我相信你已经知道这一点):
>>> 6 > 5 > 4
True
https://stackoverflow.com/questions/66588828
复制