【Python自學】邏輯運算子的用法and/or/not

這篇整理 Python「邏輯運算子」的基本用法。邏輯運算子常用在 if / else 條件判斷中,用來組合多個條件,判斷最後結果是 True 還是 False

📘 Python 邏輯運算子:and、or、not

Python 中常見的邏輯運算子主要有三個:

  • and:且,兩個條件都成立,結果才成立。
  • or:或,只要其中一個條件成立,結果就成立。
  • not:不,將布林值反轉。

這三個運算子的意思其實很直觀。不論從中文或英文來理解,都能大概猜到它們在程式中的作用。

簡單記法:
and 要全部成立;or 有一個成立就好;not 則是把結果反過來。

🧭 什麼是邏輯運算子?

邏輯運算子常見於條件語句中,例如:

if 條件A and 條件B: 執行程式碼

條件判斷的結果通常會是布林值,也就是:

  • True:條件成立。
  • False:條件不成立。

當我們需要同時判斷多個條件時,就會用到 andornot

1️⃣ and:且

and 的意思是「而且」。兩個條件都必須是 True,最後結果才會是 True

只要有一個條件是 False,and 的結果就是 False。

and 真值表

以下用表格整理 and 的判斷結果。

條件 A 條件 B A and B
True True True
True False False
False True False
False False False

and 範例:成年且有票才能進場

age = 20 has_ticket = True if age >= 18 and has_ticket: print("可以進場") else: print("不可以進場")

程式執行結果

可以進場

這段程式的意思是:只有「成年」而且「有票」才能進場。

  • 成年,但沒有票:不能進場。
  • 有票,但未成年:不能進場。
  • 沒有票,也未成年:當然更不能進場。
  • 成年,而且有票:可以進場。

2️⃣ or:或

or 的意思是「或者」。只要其中一個條件是 True,最後結果就會是 True

只有當所有條件都是 False 時,or 的結果才會是 False。

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 if is_member or has_coupon: print("享有折扣") else: print("不享有折扣")

程式執行結果

享有折扣

這段程式的意思是:只要「是會員」或「有折價券」,就可以享有折扣。

在範例中,is_memberFalse,但 has_couponTrue,所以整體判斷結果仍然是 True

3️⃣ not:反向 / 取反

not 會把布林值反轉。

  • not True 會變成 False
  • not False 會變成 True

not 真值表

原本值 not 之後
True False
False True

not 範例:沒有下雨就可以出門散步

is_raining = False if not is_raining: print("可以出門散步") else: print("帶雨傘喔")

程式執行結果

可以出門散步

因為 is_rainingFalse,代表「沒有下雨」。

加上 not 之後:

not is_raining not False True

所以條件成立,程式印出「可以出門散步」。

not 很適合用來表示「不是某種狀態」或「條件沒有成立」。

4️⃣ 綜合示範:搭配括號進行多重判斷

當條件變多時,可以使用括號讓判斷邏輯更清楚。

age = 17 is_student = True has_permission = False if (age < 18 and is_student) or has_permission: print("可參加活動") else: print("無法參加")

程式執行結果

可參加活動

判斷邏輯說明

這段條件是:

(age < 18 and is_student) or has_permission

先看括號裡的部分:

age < 18 → True is_student → True age < 18 and is_student → True and True → True

接著再和 has_permissionor 判斷:

True or has_permission → True or False → True

最後結果是 True,所以印出「可參加活動」。

多重條件判斷時,建議加上括號。
括號不只可以控制判斷順序,也能讓程式更容易閱讀。

📋 邏輯運算子速查表

最後用表格整理 andornot 的核心差異。

運算子 中文意思 成立條件 簡單記法
and 全部條件都要是 True。 全部都要有。
or 至少一個條件是 True。 有一個就好。
not 不 / 取反 把 True 變 False,把 False 變 True。 反過來看。

✅ 小結

邏輯運算子是 Python 條件判斷中很重要的工具,常常搭配 if / elif / else 使用。

  • and:所有條件都成立,結果才是 True
  • or:只要有一個條件成立,結果就是 True
  • not:反轉布林值,將 True 變成 False,將 False 變成 True
  • 括號:可用來控制多重條件的判斷順序,讓程式更清楚。
and → 全部成立才成立 or → 有一個成立就成立 not → 把結果反過來
最後用一句話記住:
邏輯運算子就是用來組合條件,決定程式下一步該怎麼走。

留言

這個網誌中的熱門文章

麻將新手必看!不知道聽什麼牌怎麼辦?超多種實戰聽牌範例,教你怎麼判斷胡牌機會

麻將教學懶人包|從規則到牌理的完整觀念整理(附實戰心得)

【新訓入伍】義務役新兵必看!入伍報到必備清單整理|2026年更新