一·指派運算符
這裡位運算符如果不是很清晰的,可以參考這篇文章——位運算符
符号 | 名稱 | 描述 |
= | 指派(最基本的指派運算符) | c=a+b,就是将a+b的值賦給c |
+= | 加指派 | b+=a 等效于 b=b+a |
-= | 減指派 | b-=a 等效于 b=b-a |
*= | 乘指派 | b*=a 等效于 b=b*a |
/= | 除指派 | b/=a 等效于 b=b/a |
%= | 取餘數指派 | b%=a 等效于 b=b%a |
**= | 幂指派 | b**=a 等效于 b=b**a |
//= | 取整指派 | b//=a 等效于 b=b//a |
<<= | 左移指派 | b<<=a 等效于 b=b<<a,指的是将b的二進制位向左移a位,再指派給b |
>>= | 右移指派 | b>>=a 等效于 b=b>>a,指的是将b的二進制位向右移a位,再指派給b |
&= | 按位與指派 | b&=a 等效于 b=b&a |
|= | 按位或指派 | b|=a 等效于 b=b|a |
^= | 按位異或指派 | b^=a 等效于 b=b^a |
優先級:指派運算符的優先級很低,例如:b*=a+c,要先算後面的a+c,再将a+c的值與b相乘指派給b。
二·代碼說明
1·指派=
a = 10
print(a)
# 輸出結果:10
b = 20
print(b)
# 輸出結果:20
c = a + b
print(c)
# 輸出結果:30
2·加指派+=
a = 10
a += 1 # 這裡相當于a=a+1
print(a)
# 輸出結果:11
3·減指派-=
a = 10
a -= 1 # 這裡相當于a=a-1
print(a)
# 輸出結果:9
4·乘指派*=
a = 10
a *= 2 # 這裡相當于a=a*2
print(a)
# 輸出結果:20
5·除指派/=
a = 10
a /= 2 # 這裡相當于a=a/2
print(a)
# 輸出結果:5
6·取餘數指派%=
a = 10
a %= 3 # 這裡相當于a=a%3
print(a)
# 輸出結果:1
7·幂指派**=
a = 10
a **= 3 # 這裡相當于a=a**3
print(a)
# 輸出結果:1000
8·取整指派//=
a = 10
a //= 3 # 這裡相當于a=a//3
print(a)
# 輸出結果:3
9·左移指派<<=
a = 10
print(bin(a))
# 輸出結果:0b1010
a <<= 2 # 等效于a=a<<2,将a的二進制位向左移2位,再指派給a
print(bin(a))
# 輸出結果:0b101000
10·右移指派>>=
a = 10
print(bin(a))
# 輸出結果:0b1010
a >>= 2 # 等效于a=a>>2,将a的二進制位向右移2位,再指派給
print(bin(a))
# 輸出結果:0b10
11·按位與指派&=
a = 10
print(bin(a))
# 輸出結果:0b1010
print(bin(2))
# 輸出結果:0b10
a &= 2 # 等效于a=a&2,兩邊二進制均為1的輸出為1,不然輸出為0,最後将輸出的二進制指派給
print(bin(a))
# 輸出結果:0b10
12·按位或指派|=
a = 10
print(bin(a))
# 輸出結果:0b1010
print(bin(2))
# 輸出結果:0b10
a |= 2 # 等效于a=a|2,兩邊二進制隻要有一邊為1的輸出為1,全不為1輸出為0,最後将輸出的二進制指派給a
print(bin(a))
# 輸出結果:0b1010
a = 10
print(bin(a))
# 輸出結果:0b1010
print(bin(2))
# 輸出結果:0b10
a ^= 2 # 等效于a=a^2,兩邊二進制相同的位輸出為0,不同的位輸出為1,最後将輸出的二進制指派給a
print(bin(a))
# 輸出結果:0b1000