文章目錄
- 1.算術運算符
- 2.賦值運算符
- 3.關系運算符
- 4.邏輯運算符
- 4.1 布爾值邏輯運算
- 4.2 非布爾值的邏輯運算符
- 5.條件運算符
- 6.運算符優先級
運算符也稱為操作符,可以對一個或多個值進行運算或各種操作。比如+、-、=都屬于運算符
1.算術運算符
- 加法
如果是兩個字符串之間進行加法,則會進行字符串拼接
- 減法運算符
整數、浮點數,布爾值可進行運算
- 乘法(*、**)
- * 乘法運算符,如果將字符串和數字相乘,則會對字符串進行復制
a = 5 - True
print(a)
輸出:4
- ** 表示冪運算
a = 3 ** 2 // 表示計算32
print(a);
輸出:9
- 除法(/、//)
/ 除法運算,運算結果返回的是浮點型,除數不能為0
// 表示整除,只會保留計算后的整數位
a = 10 // 3
print(a)
輸出:3
- 取模
計算余數
a = 10 % 4 // a表示10除以4的余數
print(a)
輸出:2
2.賦值運算符
- =
賦值運算符指的是等號(=),可以將等號右側的值賦值給等號左側的變量
a = 10
print(a)
輸出:10
- +=
a += 5 等價于 a = a + 5;
以此類推:
a -= 5 等價于 a = a - 5
a *= 5 等價于 a = a * 5
a **= 5 等價于 a = a ** 5
a /= 5 等價于 a = a / 5
a //= 5 等價于 a = a // 5
a %= 5 等價于 a = a % 5
3.關系運算符
關系運算符用來比較兩個值之間的關系,總會返回一個布爾值
- > 比較左邊的值是否大于右邊的值,返回布爾值結果
- >= 比較左邊的值是否大于等于右邊的值,返回布爾值結果
- < 比較左邊的值是否小于右邊的值,返回布爾值結果
- <= 比較左邊的值是否小于等于右邊的值,返回布爾值結果
- == 比較左邊的值是否等于右邊的值,返回布爾值結果 # 這里比較的是兩個對象的值,而不是id
- != 比較左邊的值是否不等于右邊的值,返回布爾值結果
- is 比較兩個對象是否為同一個對象,比較的是對象的id
- is not 比較兩個對象是否不是同一個對象,比較的是對象的id
在Python中可以對兩個字符串進行大于(等于)或小于(等于)的運算,當對字符串進行比較時,實際比較的是字符串的UniCode編碼值,比較的時候是逐位進行比較
4.邏輯運算符
4.1 布爾值邏輯運算
邏輯運算符主要用來做一些邏輯判斷
- not 邏輯非,
not可以對符號右側的值進行非運算;
對于非布爾值,非運算會先將其轉化為布爾值,然后再取反
a = True;
a = not a;
print(a)
輸出:False
- and 邏輯與
and可以對符號兩側的值進行與運算
Python中的與運算是 短路與,當匹配值是False時,直接返回不再比較后面的值
result = True and True #結果: True
result = True and False# 結果:False
result = False and True # 結果:False
result = False and False# 結果:False
- or 邏輯或
or可以對符號兩側的數值進行或運算
或運算只要有一個True就返回TruePython中的或運算是 短路或,當匹配值是True時,直接返回不再比較后面的值
result = True or True #結果: True
result = True or False# 結果:True
result = False or True # 結果:True
result = False or False# 結果:False
4.2 非布爾值的邏輯運算符
對非布爾值進行邏輯運算時,Python會將其當做布爾值運算,最終會返回原值
- 與運算
與運算規則:與運算是找False,如果找到了False則直接返回,不看第二個值,如果第一個值不是False則直接返回第二個值
result = 1 and 2
print(result)
輸出:2
- 說明:與運算是找False,上式中1 and 2 中,先匹配1,是True,需要執行下一步判斷,匹配2的時候不管是什么值,都會將2返回,因為1已經判斷結束了
result = 2 and 1 # 輸出結果:1
result = 0 and 1 # 輸出結果:0
result = 0 and None # 輸出結果:0
- 或運算
運算規則:或運算是找True,如果找到了True則直接返回,不看第二個值,如果第一個值不是True則直接返回第二個值
result = 2 or 1 # 輸出結果:2
result = 1 or 0 # 輸出結果:1
result = 0 or None # 輸出結果:None
- 補充
邏輯運算符可以連用,表示中間值與兩邊進行比較
result = 1 < 2 < 3 #相當于 1 < 2 and 2 < 3
print(result) #輸出結果:True
5.條件運算符
條件運算符也稱為三元運算符。
- 語法
- 結構:語句1 if 條件表達式 else 語句 2
執行流程:先對條件表達式進行求值判斷,如果判斷結果為True,執行語句1,否則執行語句2
print(‘Hello’) if True else print(‘World’) # 輸出結果:Hello
print(‘Hello’) if False else print(‘World’) # 輸出結果:World
6.運算符優先級
和數學運算中一樣,Python中運算符也有優先級,比如先乘除后加減
運算符的優先級可根據優先級表格查詢,在表格中位置越靠下的運算符優先級越高,優先級越高的越優先計算,如果優先級一樣,則從左向右計算
無需硬記,如果在開發中遇到優先級不清楚的,可以通過小括號來改變運算順序