一、算術運算符:
+運算符除了用於算術加法以外,還可用於列表、元組、字符串的連接。
例:
>>> (3+4j)+(5+6j) #復數相加
(8+10j)
>>> [1,2,3]+[4,5,6] #連接兩個列表
[1, 2, 3, 4, 5, 6]
>>> (1,2,3)+(4,)#連接兩個元組
(1, 2, 3, 4)
>>> 'hello'+'1234' #連接兩個字符串
'hello1234'
*運算符除了表示算術乘法,還可用於列表、元組、字符串與整數的乘法,表示序列元素的重復。
>>> 5*(3+4j) #實數與復數的乘法
(15+20j)
>>> [1,2,3]*3 #列表元素重復
[1, 2, 3, 1, 2, 3, 1, 2, 3]
>>> (1,2,3)*3 #元組元素重復
(1, 2, 3, 1, 2, 3, 1, 2, 3)
>>> "abc"*3 #字符串元素重復
'abcabcabc'
>>> [1,2,3]*0 #返回空列表
[]
/和//運算符表示除法和地板除法(算術求整商)
| / | 兩個數相除,結果為浮點數(小數) |
| // | 兩個數相除,結果為向下取整的整數 |
>>> 2/4
0.5
>>> 2//4
0
>>>
%用於整數或實數的求余運算
**運算符表示求冪,等價於pow()函數
| % | 取模,返回兩個數相除的余數 |
| ** | 冪運算,返回乘方結果 |
>>> 5%2
1
3**2 等價於 pow(3,2)
二、比較運算符:
比較運算符用於比較兩個表達式的大小,其結果是布爾類型的數據。True和False
==,比較兩個字符串、列表、數值是否相同
!=,比較兩個字符串、列表、數值中前一個是否不等於后一個
>,比較兩個字符串、列表、數值中前一個是否大於后一個
>>> "abc">"aBc"
True
<,比較兩個字符串、列表、數值中前一個是否小於后一個
>>> [1,2,3]<[1,2,4]
True
>=,比較兩個字符串、列表、數值中前一個是否大於或等於后一個
<=,比較兩個字符串、列表、數值中前一個是否小於或等於后一個
>>> [1,2,3]<=[1,2,3,4]
True
三、邏輯運算符:(not、and、or)
Python中邏輯運算采用了“短路設計”,可以與電路的連接方式做個類比。
- or 邏輯或 表達式從左至右運算,若 or 的左側邏輯值為 True ,則直接輸出 True 。
- and 邏輯與 表達式從左至右運算,若 and 的左側邏輯值為 False ,則不用參與接下來的邏輯運算,整個表達式結果即為False.
- not 邏輯非
- >>> not 0
-
True
四、位運算符:
| 運算符 | 描述 |
|---|---|
| & | 按位“與”運算符:參與運算的兩個值,如果兩個相應位都為 1,則結果為 1,否則為 0 |
| | | 按位“或”運算符:只要對應的兩個二進制位有一個為 1 時,結果就為 1 |
| ^ | 按位“異或”運算符:當兩對應的二進制位相異時,結果為 1 |
| ~ | 按位“取反”運算符:對數據的每個二進制位取反,即把 1 變為 0,把 0 變為 1 |
| << | “左移動”運算符:運算數的各二進制位全部左移若干位,由“<<”右邊的數指定移動的位數,高位丟棄, 低位補 0 |
| >> | “右移動”運算符:運算數的各二進制位全部右移若干位,由“>>”右邊的數指定移動的位數 |
五、賦值運算符:
| 運算符 | 描述 |
|---|---|
| = | 常規賦值運算符,將運算結果賦值給變量 |
| += | 加法賦值運算符,例如 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 |
六、成員測試運算符:
| 運算符 | 描述 |
|---|---|
| in | 測試一個對象是否是另一個對象的元素,找到值時返回 True,否則返回 False |
| not in | 當在指定的序列中沒有找到值時返回 True,否則返回 False |
>>> 5 in range(1,10,1) #range()是 用來生成指定范圍數字的內置函數
True
>>> 3 not in [1,2,3]
False
七、同一性測試運算符:
| 運算符 | 描述 |
|---|---|
| is | 判斷兩個標識符是否引用自同一個對象,若引用的是同一個對象則返回 True,否則返回 False |
| is not | 判斷兩個標識符是不是引用自不同對象,若引用的不是同一個對象則返回 True,否則返回 False |
八、運算符優先級:
算術運算符->位運算符->關系運算符->邏輯運算符->賦值運算符
| 運算符 | 描述 |
|---|---|
| ** | 冪 |
| ~ | 按位“取反” |
| *、/、%、// | 乘、除、取模、取整除 |
| +、- | 加、減 |
| >>、<< | 右移、左移 |
| & | 按位“與” |
| ^、| | 按位“異或”、按位“或” |
| <=、<、>、>= | 比較運算符 |
| ==、!= | 等於、不等於 |
| =、%=、/=、//=、-=、+=、*=、**= | 賦值運算符 |
| is、is not | 身份運算符 |
| in、not in | 成員運算符 |
| and or not | 邏輯運算符 |
