| |有什么不同?和OR运算符在Python中?

在Python中或是逻辑运算符,并且| 是按位运算符。或运算符需要两个任意类型的容器,并且可以为true或false。如果任何一个操作数的计算结果为true,则返回true。

>>> a=50
>>> b=25
>>> a>40 or b>40
True
>>> a>100 or b<50
True
>>> a==0 or b==0
False
>>> a>0 or b>0
True

| 运算符将位作为操作数,如果任何一个操作数为1,则返回1

>>> a=10   #0000 1010
>>> bin(a)
'0b1010'
>>> b=20   #0001 0100
>>> bin(b)
'0b10100'
>>> c=a|b
>>> c
30         #0001 1110
>>> bin(c)
'0b11110'