Python3基礎(三) 運算子
阿新 • • 發佈:2019-02-03
Python中的運算子大部分與C語言的類似,但也有很多不同的地方。這裡就大概地羅列一下Python 3中的運算子。
一、算術運算子
運算子 | 描述 | 示例 |
---|---|---|
x + y | 加 | 10 + 20 = 30 |
x - y | 減 | 10 - 5 = 5 |
x * y | 乘 | 3 * 6 = 18 |
x / y | 除-返回浮點數 | 2 / 4 = 0.5 |
x // y | 取整除 - 返回商的整數部分 | 2 // 4 = 0 |
x % y | 取餘 | 15 % 4 = 3 |
-x | 異號 | -(-5) = 5 |
+x | 不變號 | +5 = 5 |
abs(x) | 取絕對值 | abs(-0.4) = 0.4 |
int(x) | x轉換為整數 | int(5.9) = 5 |
float(x) | x轉換為浮點數 | float(5) = 5.0 |
complex(re, im) | 返回複數 - re為實數部分 im為虛數部分 | complex(4,3) = 4+3j |
c.conjugate() | 返回c的共軛複數 | c=4+3j; c.conjugate() = 4-3j |
divmod(x, y) | 返回一個數值對(x//y, x%y) | divmod(8, 3) = (2, 2) |
pow(x, y) | x的y次冪 | pow(2, 5) = 32 |
x ** y | x的y次冪 | 2 ** 5 = 32 |
Note:
- 雙斜槓 // 除法總是向下取整。
- Python定義
pow(0, 0)
和0 ** 0
等於1。
二、比較運算子
運算子 | 描述 |
---|---|
< | 小於 |
<= | 小於或等於 |
> | 大於 |
>= | 大於或等於 |
== | 等於 |
!= | 不等於 |
is | 判斷兩個識別符號是不是引用自一個物件 |
is not | 判斷兩個識別符號是不是引用自不同物件 |
- 八個比較運算子優先順序相同。
- Python允許
x < y <= z
這樣的鏈式比較,它相當於x < y and y <= z
。 - 複數不能進行大小比較,只能比較是否相等。
三、邏輯運算子
運算子 | 描述 |
---|---|
x or y | if x is false, then y, else x |
x and y | if x is false, then x, else y |
not x | if x is false, then True, else False |
Note:
- or是個短路運算子,它只有在第一個運算數為False時才會計算第二個運算數的值。
- and也是個短路運算子,它只有在第一個運算數為True時才會計算第二個運算數的值。
- not的優先順序比其他型別的運算子低,所以not a == b相當於not (a == b),而 a == not b是錯誤的。
四、位運算子
運算子 | 描述 |
---|---|
x | y | 按位或運算子 |
x & y | 按位與運算子 |
x ^ y | 按位異或運算子 |
x << n | 左移動運算子 |
x >> n | 右移動運算子 |
~x | 按位取反運算子 |
五、賦值運算子
複合賦值運算子與算術運算子是一一對應的:
運算子 | 描述 |
---|---|
= | 簡單的賦值運算子 |
+= | 加法賦值運算子 |
-= | 減法賦值運算子 |
*= | 乘法賦值運算子 |
/= | 除法賦值運算子 |
%= | 取模賦值運算子 |
**= | 冪賦值運算子 |
//= | 取整除法運算子 |
六、成員運算子
Python提供了成員運算子,測試一個元素是否在一個序列(Sequence)中。
運算子 | 描述 |
---|---|
in | 如果在指定的序列中找到值返回True,否則返回False。 |
not in | 如果在指定的序列中沒有找到值返回True,否則返回False。 |