天天看點

Python3中的指派運算符

一·指派運算符

這裡位運算符如果不是很清晰的,可以參考這篇文章——​​位運算符​​

符号 名稱 描述
= 指派(最基本的指派運算符) 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