当我在python shell中执行以下操作时!
>> print 2 | 4
>> 6
为什么python中的管道符号会添加到整数?
答案 0 :(得分:5)
它不是管道符号,而是按位OR 。
2 in binary: 10
4 in binary: 100
__________________
with or: 110 (1 or 0: 1, 1 or 0: 1, 0 or 0: 0)
二进制110是小数点后6位。
答案 1 :(得分:2)
它没有添加。这是一个按位OR。 2和4恰好是二进制的010
和100
,所以它们的和它们的OR都是110
(6)。
答案 2 :(得分:1)
管道符号代表python中的bitwise OR
。
自bin(2) == '0b10'
,bin(4) == '0b100'
和bin(6) = '0b110'
以来,您可以看到2 | 4
实际上执行了bitwise OR
。