【Python自學】邏輯運算子的用法and/or/not
📘 Python 邏輯運算子:and、or、not
Python 中常見的邏輯運算子主要有三個:
- and:且,兩個條件都成立,結果才成立。
- or:或,只要其中一個條件成立,結果就成立。
- not:不,將布林值反轉。
這三個運算子的意思其實很直觀。不論從中文或英文來理解,都能大概猜到它們在程式中的作用。
and 要全部成立;or 有一個成立就好;not 則是把結果反過來。
🧭 什麼是邏輯運算子?
邏輯運算子常見於條件語句中,例如:
條件判斷的結果通常會是布林值,也就是:
- True:條件成立。
- False:條件不成立。
當我們需要同時判斷多個條件時,就會用到 and、or、not。
1️⃣ and:且
and 的意思是「而且」。兩個條件都必須是 True,最後結果才會是 True。
and 真值表
以下用表格整理 and 的判斷結果。
| 條件 A | 條件 B | A and B |
|---|---|---|
| True | True | True |
| True | False | False |
| False | True | False |
| False | False | False |
and 範例:成年且有票才能進場
程式執行結果
這段程式的意思是:只有「成年」而且「有票」才能進場。
- 成年,但沒有票:不能進場。
- 有票,但未成年:不能進場。
- 沒有票,也未成年:當然更不能進場。
- 成年,而且有票:可以進場。
2️⃣ or:或
or 的意思是「或者」。只要其中一個條件是 True,最後結果就會是 True。
or 真值表
以下用表格整理 or 的判斷結果。
| 條件 A | 條件 B | A or B |
|---|---|---|
| True | True | True |
| True | False | True |
| False | True | True |
| False | False | False |
or 範例:會員或有折價券即可享有折扣
程式執行結果
這段程式的意思是:只要「是會員」或「有折價券」,就可以享有折扣。
在範例中,is_member 是 False,但 has_coupon 是 True,所以整體判斷結果仍然是 True。
3️⃣ not:反向 / 取反
not 會把布林值反轉。
- not True 會變成 False。
- not False 會變成 True。
not 真值表
| 原本值 | not 之後 |
|---|---|
| True | False |
| False | True |
not 範例:沒有下雨就可以出門散步
程式執行結果
因為 is_raining 是 False,代表「沒有下雨」。
加上 not 之後:
所以條件成立,程式印出「可以出門散步」。
4️⃣ 綜合示範:搭配括號進行多重判斷
當條件變多時,可以使用括號讓判斷邏輯更清楚。
程式執行結果
判斷邏輯說明
這段條件是:
先看括號裡的部分:
接著再和 has_permission 做 or 判斷:
最後結果是 True,所以印出「可參加活動」。
括號不只可以控制判斷順序,也能讓程式更容易閱讀。
📋 邏輯運算子速查表
最後用表格整理 and、or、not 的核心差異。
| 運算子 | 中文意思 | 成立條件 | 簡單記法 |
|---|---|---|---|
| and | 且 | 全部條件都要是 True。 | 全部都要有。 |
| or | 或 | 至少一個條件是 True。 | 有一個就好。 |
| not | 不 / 取反 | 把 True 變 False,把 False 變 True。 | 反過來看。 |
✅ 小結
邏輯運算子是 Python 條件判斷中很重要的工具,常常搭配 if / elif / else 使用。
- and:所有條件都成立,結果才是 True。
- or:只要有一個條件成立,結果就是 True。
- not:反轉布林值,將 True 變成 False,將 False 變成 True。
- 括號:可用來控制多重條件的判斷順序,讓程式更清楚。
邏輯運算子就是用來組合條件,決定程式下一步該怎麼走。
留言
張貼留言