PYTHON 運算子
阿新 • • 發佈:2022-11-29
1.1 運算子
運算子也稱操作符,主要有算術,關係,邏輯,位等。
1.2 算術運算子
用於整數,浮點數的計算。
運算子 | 描述 | 例項 |
---|---|---|
+ | 加 - 兩個物件相加 | a + b |
- | 減 - 得到負數或是一個數減去另一個數 | a - b |
* | 乘 - 兩個數相乘或是返回一個被重複若干次的字串 | a * b |
/ | 除 - x 除以 y | b / a |
% | 取模 - 返回除法的餘數 | b % a |
** | 冪 - 返回x的y次冪 | a**b |
// | 取整除 - 向下取接近商的整數 | a // b |
有些語言兩個整數相除取整數部分,python則是浮點數。
對於字串型別:+
是過載為連線運算,*
是過載為重複運算。
1.3 關係運算
以下假設變數a為10,變數b為20:
運算子 | 描述 | 例項 |
---|---|---|
== | 等於 | (a == b) 返回 False。 |
!= | 不等於 | (a != b) 返回 True。 |
> | 大於 | (a > b) 返回 False。 |
< | 小於 | (a < b) 返回 True。 |
>= | 大於等於 | (a >= b) 返回 False。 |
<= | 小於等於 | (a <= b) 返回 True。 |
關係運算用於比較整數,小數,也可以比較字串,元組,列表等。
1.4 賦值運算子
以下假設變數a為10,變數b為20:
運算子 | 描述 | 例項 |
---|---|---|
= | 賦值 | c = a + b |
+= | 加法賦值 | c += a |
-= | 減法賦值 | c -= a |
*= | 乘法賦值 | c *= a |
/= | 除法賦值 | c /= a |
%= | 取模賦值 | c %= a |
**= | 冪賦值 | c **= a |
//= | 整除賦值 | c //= a |
:= | 海象運算子 | 可在表示式內部為變數賦值。 |
複合賦值就是簡化表示式的寫法,如: c+=a 相當於 c = c + a
a = [1, 2, 3, 4, 5]
if n := len(a) < 10: # 在表示式內部為變數賦值
print("< 10")
1.5 邏輯運算
運算子 | 邏輯表示式 | 描述 | 例項 |
---|---|---|---|
and | x and y | 與 - x,y都為True結果為True | a and b |
or | x or y | 或 - 有一個為True結果為True | a or b |
not | not x | 非 - 狀態取返 | not a |
注意:邏輯運算是採用短路設計的
and 運算,如果第一個運算元為False,則不計算第二個表示式(因為已經能確定整個表示式的值了)
or 運算,如果第一個運算元為True,則不計算第二個表示式
1.6 位運算
按位運算子是把數字看作二進位制來進行計算的。Python中的按位運演算法則如下:
下表中變數 a 為 60,b 為 13二進位制格式如下:
a = 0011 1100
b = 0000 1101
-----------------
a&b = 0000 1100
a|b = 0011 1101
a^b = 0011 0001
~a = 1100 0011
運算子 | 描述 | 例項 |
---|---|---|
& | 位與:兩個值都為1,結果為1,否則為0 | a & b |
| | 位或:兩個位有一個為1,結果為1,否則為0 | a | b |
^ | 位異或:兩個位相異,結果為1 ,否則為0 | a ^ b |
~ | 取反:把1變為0,把0變為1 | ~a |
<< | 左移:位左移,低位補0 | a << 2 |
>> | 右移:位右移,高位補符號位,移出的丟棄 | a >> 2 |
1.7 成員運算
測試例項中包含了一系列的成員,包括字串,列表或元組。
運算子 | 描述 | 例項 |
---|---|---|
in | 在序列中返回 True,否則返回 False。 | x in mylist |
not in | 不在序列中返回 True,否則返回 False。 | x not in mylist |
1.8 身份運算
身份運算子用於比較兩個物件的儲存單元
運算子 | 描述 | 例項 |
---|---|---|
is | is 是判斷兩個識別符號是不是引用自一個物件 | x is y, 類似 id(x) == id(y) |
is not | is not 是判斷兩個識別符號是不是引用自不同物件 | x is not y , 類似 id(x) != id(y) |
注: id() 函式用於獲取物件記憶體地址。
1.9 運算子的優先順序
從高到低:算術 > 位 > 關係 > 邏輯 > 賦值
一般不用計,用()改變運算順序更直觀。