一、位运算符
&
符号是Python中的位运算符,与 |
、^
、~
分别代表按位与、按位或、按位异或、按位取反操作。它们操作的都是二进制数(也就是0、1组成的数),操作时会对二进制对应位进行计算,得到的结果是一个二进制数。
a = 60 # 60 = 0b111100
b = 13 # 13 = 0b1101
c = a & b # 12 = 0b1100
print("a & b 的值为:", c) # 打印结果为 12
在这个例子中,a 与 b 的二进制数在按位与后,得到的结果是 12,二进制数为1100,即60的二进制数111100与13的二进制数1101相对应位进行按位与操作后得到1100.
二、条件语句中的&
&
符号也可以用在条件语句中,作为逻辑与的运算符。逻辑与指两个条件同时为真时才为真,否则为假。
x = 2
y = 4
if x==2 & y==4:
print("x 和 y 都满足条件")
else:
print("x 和 y 不同时满足条件")
当x=2且y=4时,两个条件都为真,if语句中的条件为True,结果会执行第一个print语句。而如果使用and运算符代替&
符号,则结果也是一样的。
三、集合交运算
在 Python 中,&
符号可以看作是集合之间的交运算符,可以用来求两个集合的交集。交集是指两个集合中都存在的元素。
A={1,2,3,4,5}
B={4,5,6,7}
C = A & B
print("A 和 B 的交集为:", C) # 打印结果为 {4, 5}
在这个例子中,A 和 B 是两个集合,使用&
作为交运算符,求出两个集合的交集。结果是 {4, 5}
。
四、字典操作
在Python中,&
可以用来链接两个字典,将它们的键和值组合在一起形成一个新的字典。
dict1 = {'a': 1, 'b': 2}
dict2 = {'b': 3, 'c': 4}
dict3 = dict1 & dict2
print("dict1 和 dict2 的交集为:", dict3) # 打印结果为 {'b': 2} 注意原字典dict1并未被改变
使用&
作为连接符合并两个字典的时候,它只会保留第一个字典中包含的键值对。在这个例子中,字典dict1和字典dict2中都有键b,但是在新的字典dict3中,只保留了键b在字典dict1中对应的值2。
五、异或运算
在Python中,&
符号可以作为异或运算符(XOR)来处理二进制数字。异或运算符(XOR)是一种按位运算符,用于将两个二进制数的相应位相异或。如果相应的位相同,则结果为 0,否则为 1。
a = 60 # 60 = 0b111100
b = 13 # 13 = 0b1101
c = a ^ b # 49 = 0b110001
print("a ^ b 的值为:", c) # 打印结果为 49
在这个例子中,a 与 b 的二进制数在按位异或后,得到的结果是 49,即60的二进制数111100与13的二进制数1101相对应位进行按位异或操作后得到110001.
总结
Python中&
符号有多重作用,可以作为位运算符、条件语句中的逻辑与、集合交运算符、字典连接符以及异或运算符。作为全能工程师的你,一定要清楚地掌握这些用法,才能写出更加优美的Python代码。