1. 程式人生 > >Python3基礎(三) 運算子

Python3基礎(三) 運算子

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

  1. 雙斜槓 // 除法總是向下取整。 
  2. Python定義pow(0, 0)0 ** 0等於1。

二、比較運算子

運算子 描述
< 小於
<= 小於或等於
> 大於
>= 大於或等於
== 等於
!= 不等於
is 判斷兩個識別符號是不是引用自一個物件
is not 判斷兩個識別符號是不是引用自不同物件
Note
  1. 八個比較運算子優先順序相同。
  2. Python允許x < y <= z這樣的鏈式比較,它相當於x < y and y <= z。 
  3. 複數不能進行大小比較,只能比較是否相等。

三、邏輯運算子

運算子 描述
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

  1. or是個短路運算子,它只有在第一個運算數為False時才會計算第二個運算數的值。
  2. and也是個短路運算子,它只有在第一個運算數為True時才會計算第二個運算數的值。
  3. 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。