Python語言支援以下類型的運算符:
- 算術運算符
- 比較運算符
- 指派運算符
- 邏輯運算符
- 位運算符
- 成員運算符
- 身份運算符
- 運算符優先級
接下來帶着大家一起學習下這些
一、算術運算符
運算符 | 描述 |
---|---|
+ | 兩個對象相加 |
- | 表示負數或者兩個數相減 |
* | 兩個數相乘或者傳回一個重複若幹次的字元串 |
/ | 兩個數相除 |
% | 取模,傳回除法的餘數 |
** | 幂,傳回一個數的幾次幂,比如10**2表示10的2次方 |
// | 取整數,兩個數相除,向下取整數,比如9//2結果為4 |
案例:
a = 2
b = 1
c = 3
# 加法 結果為:3
print(a + b)
# 減法 結果為:1
print(a - b)
# 乘法 結果為:2
print(a * b)
# 除法 結果為:2.0
print(a / b)
# 取模 結果為:0
print(a % b)
# 幂 結果為:2
print(a ** b)
# 除法取整 結果為:1
print(c // a)
二、比較運算符
== | 比較兩個對象是否相等 |
!= | 比較兩個對象是否不相等 |
> | 比較一個數字是否大于另一個數字 |
< | 比較一個數字是否小于一個數字 |
>= | 一個數字是否大于等于另一個數字 |
<= | 一個數字是否小于等于一個數字 |
案例
aa = 2
bb = 4
cc = 1
# 輸出結果:aa不等于bb
if aa == bb:
print('aa等于bb')
else:
print('aa不等于bb')
# 輸出結果:aa不等于bb
if aa != bb:
print('aa不等于bb')
else:
print('aa等于bb')
# 輸出結果:aa小于bb
if aa < bb:
print('aa小于bb')
else:
print('aa大于bb')
# 輸出結果:aa小于bb
if aa > bb:
print('aa大于bb')
else:
print('aa小于bb')
# 輸出結果:aa小于等于bb
if aa >= bb:
print('aa大于等于bb')
else:
print('aa小于等于bb')
# 輸出結果:aa小于等于bb
if aa <= bb:
print('aa小于等于bb')
else:
print('aa大于等于bb')
三、指派運算符
= | 簡單的指派運算符,比如a = 2 |
+= | 加法指派運算符,a += b等價于a = a + b |
-= | 減法指派運算符,a -= b等價于a = a - b |
*= | 乘法指派運算符,a = b 等價于a = a b |
/= | 除法指派運算符 a /= b 等價于 a = a / b |
%= | 取模指派運算符, a %= b 等價于 a = a % b |
**= | 幂指派運算符,a **= b 等價于 a = a**b |
//= | 整除指派運算符,a //= b等價于 a = a //b |
aaa = 2
bbb = 3
# 輸出結果:5
aaa += bbb
print(aaa)
# 輸出結果:15
aaa *= bbb
print(aaa)
# 輸出結果:5.0
aaa /= bbb
print(aaa)
# 輸出結果:2.0
aaa %= bbb
print(aaa)
# 輸出結果:8.0
aaa **= bbb
print(aaa)
# 輸出結果:2.0
aaa //= bbb
print(aaa)
四、位運算符
& | 按位與運算符,參與運算的兩個值,如果兩個相應位都為1,則該位得結果為1,否則為0 |
| | 按位或運算符,隻要對應的兩個二進位有一個為1,結果位就為1 |
^ | 按位異或運算符,當兩對應的二進位相異時,結果為1 |
~ | 按位取反運算符,對資料的每個二進制位取反,即把1變為0,0變成1,~x類似于-x-1 |
<< | 左移動運算符,運算數的各二進位全部左移若幹位,由 右邊的數指定移動的位數,高位丢棄,低位補0 |
>> | 右移動運算符,把 左邊的運算數的各二進制位全部右移若幹位, 右邊的數指定移動的位數 |
e = 20
f = 10
# 輸出結果:0
g = e & f
print(g)
# 輸出結果:30
g = e | f
print(g)
# 輸出結果:30
g = e ^ f
print(g)
# 輸出結果:-21
g = ~e
print(g)
# 輸出結果:80
g = e << 2
print(g)
# 輸出結果:5
g = e >> 2
print(g)
五、邏輯運算符
邏輯表達式 | ||
---|---|---|
and | x and y | 如果x為False,x and y傳回False,否則傳回y的值 |
or | x or y | 如果x為True,傳回x的值,否則傳回y |
not | not x | 如果x為True,傳回False,如果為False,傳回True |
h = 10
i = 20
# 輸出結果:都為true
if h and i:
print("都為true")
else:
print("有不是true的")
# 輸出結果:都為true,或者一個為true
if h or i:
print("都為true,或者一個為true")
else:
print("都不是true")
# 輸出結果:都是true的
if not(h and i):
print("都為false,或其中一個為false")
else:
print("都是true的")
六、成員運算符
除了以上的一些運算符之外,Python還支援成員運算符,測試執行個體中包含了一系列的成員,包括字元串,清單或元組
in | 如果在指定的序列中找到值就傳回True,否則傳回False |
not in | 如果沒有找到,傳回True,否則傳回False |
a = 10
b = 20
myList = [1, 2, 3, 4, 20]
# 輸出結果:a不在清單裡
if a in myList:
print("a在清單裡")
else:
print("a不在清單裡")
# 輸出結果:a不在清單裡
if a not in myList:
print("a不在清單裡")
else:
print("a在清單裡")
# 輸出結果:b在清單裡
if b in myList:
print('b在清單裡')
else:
print('b不在清單裡')
七、身份運算符
身份運算符用于比較兩個對象的存儲單元
is | is是判斷兩個辨別符是不是引用自一個對象 |
is not | is not是判斷兩個辨別符是不是引用不同對象 |
a = 20
b = 10
c = 20
# 輸出結果:不是同一個對象
if a is b:
print("a和b是同一個對象")
else:
print('不是同一個對象')
# 輸出結果:a和c是同一個對象
if a is c:
print("a和c是同一個對象")
else:
print("a和c不是同一個對象")
# 輸出結果:a和b不是同一個對象
if a is not b:
print("a和b不是同一個對象")
else:
print("a和b是同一個對象")
is是判斷兩個變量引用對象是否為同一個,==是判斷引用變量的值是否相等
八、運算符優先級
指數,優先級 | |
~、+、- | 按位反轉、加@、減@ |
*、/、%、// | 乘、除、取模、取整除 |
+、- | 減法、加法 |
>>、<< | 右移、左移 |
位'AND' | |
^、| | |
<=、<、>、>= | |
==、!= | 等于運算符 |
=、%=、/=、//=、-=、*=、**= | |
is、is not | |
in、not in | |
and、or、not |
本文到此結束啦,如有誤歡迎各位指正,也歡迎大家持續關注哦!!!!