
運算子 (operator) 是計算用的符號或關鍵字 (keyword) ,運算子與運算元 (operand) 構成運算式 (expression) ,運算式為程式 (program) 中最基本的陳述 (statement) 。
關鍵字中當作運算子使用的有以下這些,各有不同的用途,之後的部分會逐一詳細介紹
| 關鍵字 | 用途 |
|---|---|
| and | 邏輯「且」運算 |
| or | 邏輯「或」運算 |
| not | 邏輯「非」運算 |
| del | 刪除識別字 |
| is | 判斷物件是否相等 |
| in | 判斷是否存在 |
| not in | 判斷是否不存在 |
| lambda | 無名函數 |
| yield | 產生數值 |
鍵盤符號當作運算子使用的有以下這些,同樣各有不同的用途,之後的部分一樣會逐一詳細介紹
| 分類 | 符號 |
|---|---|
| 算術運算子 | + - * ** / // % |
| 位元運算子 | << >> & | ^ ~ |
| 比較運算子 | < > <= >= == != |
| 指派運算子 | = += -= *= /= //= %= |
| 位元指派運算子 | &= |= ^= >>= <<= **= |
除了運算子之外,有些符號僅作分隔用,例如函數 (function) 識別字 (identifier) 後頭緊接的小括弧,或是串列 (list) 用的中括弧等等
| 名稱 | 符號 |
|---|---|
| 小括弧 | ( ) |
| 中括弧 | [ ] |
| 大括弧 | { } |
| 其他 | , : . ; @ -> |
還有四個符號具有特殊意義,例如字串 (string) 用的單引號或雙引號,註解 (comment) 用的井字號,跳脫字元 (escape sequence) 用的反斜線
| 名稱 | 符號 |
|---|---|
| 單引號 | ' |
| 雙引號 | " |
| 井字號 | # |
| 反斜線 | \ |
另外有三個符號在 Python 中沒有使用,如果這些符號出現在註解或字串之外的地方,會直接導致錯誤
| 名稱 | 符號 |
|---|---|
| 金錢符號 | $ |
| 問號 | ? |
| 重音符號 | ` |
依運算子的種類區分,有算術運算子、位元運算子、比較運算子、指派運算子、邏輯運算子、刪除物件、判斷物件是否相同、判斷物件是否存在、無名函數、產生器等,之後的部分就會以種類來介紹各種運算子的用法。
了解計算的優先次序是學會使用運算子重要的基礎,什麼是計算的優先次序呢?簡單講,就像先乘除後加減的規則一樣,具有高優先次序的運算子或關鍵字會先被直譯器執行。
這邊整理出計算優先次序列表, lambda 運算最高, if-else 陳述次之,再來是邏輯運算及比較運算等等
| 順序 | 符號 |
|---|---|
| 1 | lambda |
| 2 | if–else |
| 3 | or |
| 4 | and |
| 5 | not x |
| 6 | in, not in, is… |
| 7 | | |
| 8 | ^ |
| 9 | & |
| 10 | <<, >> |
| 11 | +, - |
| 12 | *, @, /, //, % |
| 13 | +x, -x, ~x |
| 14 | ** |
單元三會繼續介紹以下各個主題
- 3.1 算術運算
- 3.2 位元運算
- 3.3 比較運算
- 3.4 指派運算
- 3.5 邏輯運算
- 3.6 del 運算
- 3.7 is 運算
- 3.8 in 運算
- 3.9 lambda 運算
- 3.10 yield 運算
- 3.11 串列的綜合運算
相關教學影片
- Python 的運算子與特殊符號 ⇨ YouTube 頁面連結
- 第三堂課導覽 ⇨ YouTube 頁面連結
- Python 的運算子與運算式 ⇨ YouTube 頁面連結
- 第三堂課舉一反三 ⇨ YouTube 頁面連結
