两者之间有什么区别吗?
如果没有,那么当我们可以使用更为人熟知的|=
时,为什么会+=
实施?我认为这可能仅仅是为了方便,陪伴&=
,我认为没有替代方案。
答案 0 :(得分:5)
当然有区别:
a = 1
a |= 1
print a
VS
a = 1
a += 1
print a
一个用于添加,另一个用于按位或操作。对于其他类型,它们也可能以不同的方式过载。
答案 1 :(得分:2)
为此,您需要了解按位操作: 例如:
a = 2
a |= 2
将导致a = 2
这是因为|
(或)运算符的工作原理如下:
二进制文件中的2
表示为10
,10|10
可以通过以下方式完成:
10
{
{1}}
___
10
您查看每个列,如果其中一行中有10
,则在结果行中您还会有1
。
当您计算1
时,您可以获得与2|1
类似的结果,因为二进制中的2 + 1
为1
且操作转换为:
01
{
{1}}
___
10
二进制中的01
为十进制11
。