Python - 布林值:初學者指南

你好,有志於成為 Python 程式設計師的你!今天,我們將要深入探索布林值的迷人世界。如果你以前從未聽過這個術語,也別擔心——在這篇教學結束時,你將成為布林值的達人!讓我們一起踏上這個激動人心的旅程。

Python - Booleans

什麼是布林值?

布林值是程式設計中最簡單但同時也是最有力的概念之一。它以數學家喬治·布林的名字命名,並表示兩個值之一:True 或 False。你可以將它們視為類似開關的數位等價物——它要么是開啟(True),要么是關閉(False)。

在 Python 中,我們使用 bool 資料類型來表示布林值。讓我們看看一些例子:

is_raining = True
has_umbrella = False

print(is_raining)  # 輸出:True
print(has_umbrella)  # 輸出:False

在這個例子中,我們創建了兩個布林變量。is_raining 設定為 True(也許是倫敦的一個典型日子!),而 has_umbrella 則是 False(哦不,我們忘了帶傘!)。

bool() 函數

Python 提供了一個方便的 bool() 函數,可以將其他類型轉換為布林值。讓我們來做個實驗:

print(bool(1))  # 輸出:True
print(bool(0))  # 輸出:False
print(bool("Hello"))  # 輸出:True
print(bool(""))  # 輸出:False
print(bool([1, 2, 3]))  # 輸出:True
print(bool([]))  # 輸出:False

正如你所見,非零數字、非空字串和非空列表被視為 True,而零、空字串和空列表則為 False。這種行為在程式設計中非常有用!

布林表達式

現在我們知道了布林值是什麼,讓我們來探索布林表達式。這些是評估為 True 或 False 的陳述。

運算符

比較運算符是布林表達式的基礎。它們比較值並返回一個布林結果。以下是 Python 的比較運算符表格:

運算符 描述 示例
== 等於 5 == 5
!= 不等於 5 != 3
> 大於 5 > 3
< 小於 3 < 5
>= 大於或等於 5 >= 5
<= 小於或等於 3 <= 5

讓我們看看它們是如何運作的:

x = 5
y = 10

print(x == y)  # 輸出:False
print(x != y)  # 輸出:True
print(x > y)   # 輸出:False
print(x < y)   # 輸出:True
print(x >= 5)  # 輸出:True
print(y <= 10) # 輸出:True

邏輯運算符

邏輯運算符允許我們結合多個布林表達式。Python 有三個邏輯運算符:

運算符 描述
and 如果兩個運算元都為 True,則為 True
or 如果至少有一個運算元為 True,則為 True
not 反轉布林值

讓我們看看它們是如何工作的:

a = True
b = False

print(a and b)  # 輸出:False
print(a or b)   # 輸出:True
print(not a)    # 輸出:False
print(not b)    # 輸出:True

# 我們可以結合多個條件
x = 5
y = 10
z = 15

print((x < y) and (y < z))  # 輸出:True
print((x > y) or (y > z))   # 輸出:False
print(not (x > y))          # 輸出:True

布林值的實際應用

布林值是程式設計中決策的基礎。它們在條件語句和循環中被廣泛使用。以下是一個簡單的例子:

age = 20
is_student = True

if age >= 18 and is_student:
print("你符合學生優惠的資格!")
else:
print("抱歉,沒有優惠。")

# 輸出:你符合學生優惠的資格!

在這個例子中,我們使用布林表達式來檢查一個人是否年滿 18 歲且是學生。如果兩個條件都為 True,他們就能得到優惠!

一個警告:真值和假值

在 Python 中,某些值在布林語境中被視為“真值”或“假值”。如果你不注意這一點,有時可能會導致意外的行為。以下是一個簡短的介紹:

Python 中的假值包括:

  • False
  • None
  • 任何數字類型的零(0, 0.0)
  • 空序列('',[],())
  • 空映射({})

其他所有值都被視為真值。讓我們看看一個例子:

my_list = []
if my_list:
print("列表不為空")
else:
print("列表為空")

# 輸出:列表為空

my_string = "Hello"
if my_string:
print("字串不為空")
else:
print("字串為空")

# 輸出:字串不為空

理解這種行為有助於你撰寫更簡潔且符合 Python 風格的代碼。

結論

恭喜你!你已經踏出了在 Python 中進入布林邏輯世界的第一步。從了解布林值是什麼,到使用比較和邏輯運算符,再到看見布林值如何在真正的 Python 代碼中被使用——你已經學會了很多。

請記住,布林值可能看起來簡單,但它們是程式設計中邏輯的基礎。隨著你繼續 Python 的旅程,你會發現自己經常使用布林值,特別是在條件語句和循環中。

持續練習,持續實驗,並且最重要的是,持續享受 Python 帶來的樂趣!在你意識到之前,你將能解決複雜的問題並建立驚人的程式。開心編程!

Credits: Image by storyset