运算符“| =”与“+ =”

时间:2015-09-26 10:25:01

标签: python bitwise-operators

两者之间有什么区别吗?

如果没有,那么当我们可以使用更为人熟知的|=时,为什么会+=实施?我认为这可能仅仅是为了方便,陪伴&=,我认为没有替代方案。

2 个答案:

答案 0 :(得分:5)

当然有区别:

a = 1
a |= 1
print a

VS

a = 1
a += 1
print a

一个用于添加,另一个用于按位或操作。对于其他类型,它们也可能以不同的方式过载。

答案 1 :(得分:2)

为此,您需要了解按位操作: 例如:

a = 2
a |= 2

将导致a = 2

这是因为|(或)运算符的工作原理如下:
二进制文件中的2表示为1010|10可以通过以下方式完成:

10 {
{1}}
___
10

您查看每个列,如果其中一行中有10,则在结果行中您还会有1

当您计算1时,您可以获得与2|1类似的结果,因为二进制中的2 + 11且操作转换为:

01 {
{1}}
___
10

二进制中的01为十进制11