繁体   English   中英

为什么 True & True 给出 False?

[英]Why does True & True give False?

>>> 5 > 4 & 6 > 5

为什么上面的表达式在 Python 中给出False ,如果5 > 4True并且6 > 5也是True

因为& (按位“和”)的优先级高于> ,所以5 > 4 & 6 > 5实际上被评估为5 > 4 > 5 ,这显然是False

Python 文档中的运算符优先级

在 python 中, &运算符表示按位与运算符,它基本上采用 integer 的二进制形式,并用第二个数字掩盖第一个数字的二进制形式。

例如, 10 & 3返回2 ,因为10的二进制形式是1010 ,并且使用掩码3 ,我们取最后三位数字,并找到结果二进制的值。 在这种情况下,它是010 ,十进制是2

您要查找的运算符是文字and运算符::

>>> 5 > 4 and 6 > 5 
True

或者更好(我相信你已经知道了):

>>> 6 > 5 > 4
True

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM