前言:
繼 1.五個要素之一二三 – 輸入、輸出與記憶,接著來看學習一個新的程式語言的開始(上),裡面的五個要素之操作單元,也就是python的運算。
python的運算有六種分類,我們只取其中四種常用的來學習就好,剩餘兩種少用的在需要的時候再去學習。
python的六種運算:
- 指派運算
- 算術運算
- 比較運算
- 邏輯運算
- 位元運算
- 位移運算
我們只學常用的前面四項。
閱讀時間:10 分鐘

運算子、運算元與運算符
在程式裡面,運算會有專業的術語來稱呼,所以先簡單的認識一下這三種的區別。
這樣在與其他人討論或學習的時候,比較能夠明確的知道對方或文章的表達。
運算子簡單明白為運算式,英文會使用 operator。
運算元就是組成運算子的「元」件,可以是變數、數字或是符號。
運算符是運算式裡面的「符」號。例如:加法裡面的加號,就是算術運算子的運算符。
來饒舌一下,運算元構成運算子,運算符是一種運算元。數字也是一種運算元。
既然了解了運算子,之後的標題就以運算子取代運算兩個字。
指派運算子
就是賦值中的等於。
a=1 # =就是指派運算子的關鍵字(運算符)
算術運算子
簡單理解為數字的運算使用的運算式,也就是加減乘除那一類的。
算術運算子 | 範例 | 說明 |
---|---|---|
+ | a+b | Addition |
– | a-b | Subtraction |
* | a * b | Multiplication |
** | a ** b | Exponents |
/ | 25/4=6.25 | Division |
// | 25//4=6 | Division for Int |
% | 25%4=1 | Remainder |
算術運算子有個變形的寫法:
a+=b 相當於 a=a+b
比較運算子
用於比較資料,比較運算子的結果為錯(False)與對(True)。
比較運算子 | 範例 | 說明 |
---|---|---|
> | 2 > 1 => True | greater than |
< | 2 < 1 => False | less than |
== | 2 == 1 => False | equal to |
!= | 2 != 1 => True | not equal to |
>= | 2 >= 1 => True | greater than or equal to |
<= | 2 <= 1 => False | less than or equal to |
比較運算子用來比較數字,但有時也會比較物件或是字串是否相同,例如:
a="hello"
print(a ? "hello") # ?應該是什麼呢?
在python可以使用 is 或 is not 來進行比較。
邏輯運算子
有時候在條件上會使用到,例如:一種紅色「而且」吃起來甜的水過。「而且」就是一種邏輯運算的關鍵字,邏輯運算子的結果為 False / True 。
通常有三種:and or not
邏輯運算子 | 範例 | 結果 |
---|---|---|
and | True and True | True |
False and True | False | |
False and False | False | |
or | True or True | True |
False or True | True | |
False or False | False | |
not | not True | False |
not False | True |
一些提醒
運算子之間存在優先權,以下我們排定順序:
- ()最優先
- 邏輯運算子 not 以及 + –
- 算術運算子 * / % + –
- 比較運算子 大小先於等於
- 邏輯運算子 and or
- 指派運算子
在python裡面,True / False 也對應了數字的 1/0,因此會得到 print(1-(not False)) 結果為 0,這樣的特殊運算。
來看看為什麼吧?按照順序 ()有最大優先,因此
- 先處理not False 為 True
- True 相當於 數字 1
- 最後獲得 print(1-1)
小練習
最後來做個小練習:
- 試著用python來表示,1+1與2-1的結果是否相同,你應該會在畫面上看到 True 的結果。
- 試著用python來表示,2-1 與 not False 的結果是否相同,你應該會在畫面上看到 True 的結果。(記得注意順序)
結語
我們已經知道了其中五個要素中的四項,接著來看最後一項控制,python的控制單元有if 以及 for、while,if 用來判斷條件使否成立,來決定是否執行內容,for以及while判斷條件是否成立,成立的話會不斷循環內容(迴圈)。
所以之後控制單元會拆成兩章,分別是 if (條件)以及 for and while(迴圈)。
This article was written by 好想射射>///<. Any similarities to other works are purely coincidental.