Python 提供多樣、功能完整的運算子 (operator) ,如下列表
+ | - | * | ** | / | // | % |
<< | >> | & | | | ^ | ~ | |
< | > | <= | >= | == | != |
另有一些分隔符號 (delimiter)
( | ) | [ | ] | { | } |
, | : | . | ; | @ | = |
+= | -= | *= | /= | //= | %= |
&= | |= | ^= | <<= | >>= | **= |
依功能區分,可分為
算術運算子
Python 的算術運算子 (arithmetic operator) 包含加、減、乘、除、取餘數,皆需兩個運算元 (operand) 構成運算式 (expression) ,如下列表
運算子 | 功能 | 範例 |
---|---|---|
+ | 加 | a + b |
- | 減 | a - b |
* | 乘 | a * b |
** | 指數 | a ** b |
/ | 除 | a / b |
// | 整數除法 | a // b |
% | 取餘數 | a % b |
算術運算子可以運用在整數資料型態 (integral type) 及浮點數資料型態 (floating-point type) 。
位移運算子
位移運算子 (shifting operator) 運用在整數資料型態,向右位移等於 n 除以 pow(2, n) ,向左位移等於 n 乘上 pow(2, n)
運算子 | 功能 | 範例 |
---|---|---|
<< | 向右位移 | a << n |
>> | 向左位移 | a >> n |
位元運算子
位元運算子 (bitwise operator) 如下列表
運算子 | 功能 | 範例 |
---|---|---|
& | 位元且 | a & b |
| | 位元包含或 | a | b |
^ | 位元互斥或 | a ^ b |
~ | 位元相反 | ~a |
關係運算子
關係運算子 (comparison operator) 需要兩個運算元,如下列表
運算子 | 功能 | 範例 |
---|---|---|
< | 小於 | a < b |
> | 大於 | a > b |
<= | 小於等於 | a <= b |
>= | 大於等於 | a >= b |
== | 相等 | a == b |
!= | 不相等 | a != b |
指派運算子
Python 最基本的指派運算子 (assignment operator) 為單一個等號 = ,這是用來將等號右邊的值拷貝給給左邊的變數 (variable) 資料。等號也可以跟其他運算子合用,會直接將結果儲存到原變數之中,如
運算子 | 功能 | 範例 |
---|---|---|
= | 指派 | a = b |
+= | 相加同時指派 | a += b |
-= | 相減同時指派 | a -= b |
*= | 相乘同時指派 | a *= b |
**= | 取指數同時指派 | a **= b |
/= | 相除同時指派 | a /= b |
/= | 整數相除同時指派 | a //= b |
%= | 取餘數同時指派 | a %= b |
&= | 位元且同時指派 | a &= b |
^= | 位元互斥或同時指派 | a ^= b |
|= | 位元包含或同時指派 | a |= b |
<<= | 向左位移同時指派 | a <<= b |
>>= | 向右位移同時指派 | a >>= b |
Python 用單一等號 = 表示指派,連續兩個等 == 號表示相等性。
分隔符號
其他分隔符號有
分隔符號 | 功能 |
---|---|
( ) | 小括弧圍住的運算式會優先計算,函數 (function) 也用小括弧圍住參數列 (parameter list) |
[ ] | 序列型態 (sequence type) 的索引符號,或用作定義串列 (list) |
{ } | 用作定義字典 (dictionary) |
, | 同一行中分隔多個運算式 |
: | 控制陳述條件 (condition) 後的分隔符號 |
. | 用為存取物件的方法 (method) 或屬性 (attribute) |
; | 可作為單行程式結束的符號,也可不用 |
@ | 用作函數或類別 (class) 定義的特殊標記 |
相關教學影片
- Python 的運算子與特殊符號 ⇨ YouTube 頁面連結
- Python 的反斜線、逗號與分號 ⇨ YouTube 頁面連結
- Python 的引號、井字號與不使用的符號 ⇨ YouTube 頁面連結
- 第三堂課舉一反三 ⇨ YouTube 頁面連結