Python | (或)

 

        我们在写程序的时候经常会用到或这个位运算符。我就我遇到的一些问题进行一下简单的整理。

      | 这个运算符,刚开始我一直以为是一个简单的判断,就是一个或的逻辑判断。然后在用的时候才发现这是一个大坑。

python中有内置的像and,or,not这些逻辑云算符,他可以帮助我们判断True,False。而这些运算符则另有其他的用处。

      我这儿提到的 | 运算符是属于二进制的云算符。目前我试验了一下只能用来判断数字类型的。

       首先说一下 | 判断的标准。 他会将数字转化为2进制,然后判断两个二进制数字。相同位数的数字有1则为1,没有1则为0

       例如:

Python | (或)_第1张图片

 a 的二进制为 0   1

 b 的二进制 为 1  0

所以 a |  b 的 二进制为 1 1

所以转化为十进制就是3.

Python | (或)_第2张图片

 a 的 二进制 为  1   0   1    0

 b 的二进制 为            0     1

所以 a |  b 的二进制就是 11

还有大家要注意的一种情况就是:

Python | (或)_第3张图片

这种情况主要就是因为:

 a == 1 的结果为True。

True | 2的结果为False

False == 2的结果为False

所以返回结果为False

所以当我们加上括号之后就会返回True。

你可能感兴趣的:(Python)