python - ^= 运算符在 Python 中是什么意思?
问题描述
^=
运算符在 Python中是什么意思?
我在网上查了一下,上面写着“对操作数执行按位异或并为左操作数赋值”。
我玩了一圈,我仍然很困惑。谁能用一些例子来启发?
解决方案
当只有奇数个条件为真时,异或将返回真。
假设以下情况:
Condition A: False; Condition B: False => A XOR B = False
Condition A: False; Condition B: True => A XOR B = True
Condition A: True; Condition B: False => A XOR B = True
Condition A: True; Condition B: True => A XOR B = False
所以假设我们有以下代码:
a = True
b = True
b ^= a #b XOR a
print(b) #Result = False
c = True
d = False
d ^= c #d XOR c
print(d) #Result = True
回答 khelwood 对此答案的评论;
您必须首先了解二进制(base-2)系统。因此,让我们有示例编号 6 和编号 3。这些数字分别转换为 base-2 中的 0110 和 0011。当我们对数字执行 XOR 时,我们将对每个单独的位执行操作。
让位按 b3、b2、b1、b0 的顺序排列。在 b3 位置,0 XOR 0 会给你 0 在 b2 位置,1 XOR 0 会给你 1 在 b1 位置,1 XOR 1 会给你 0 在 b0 位置,0 XOR 1 会给你 1。
因此,结果是 base-2 中的 0101,即 base-10 中的 5
a = 6
b = 3
b ^= a
print(b) #Result = 5
推荐阅读
- c# - 将位图 (rgb) 与 TIFF (cmyk) 连接,而不将 cmyk 转换为 rgb
- javascript - 如何使用Javascript计算数组中的相邻数字?
- javascript - 如何从 react-router 中的嵌套路由路由到另一个父路由
- python - 以编程方式替换变量
- excel - 无法从另一个工作表引用团队中的 Excel 工作表
- java - 如何使用 css 设置 vaadin 组件的样式?
- python - 什么是非常大的文件的 python“cksum”等价物,它是如何工作的?
- ios - 如何解决此“没有为团队‘Apple inc.’找到具有 appstore 连接访问权限的帐户。” “?
- ghcjs - 如何在 Reflex 中获取全局 keydown 事件?
- amazon-web-services - 无法初始化 aws 集群 (kubeadm init) 并显示消息“无法初始化云提供商“aws”:错误查找实例...超时