緯緯道來
緯緯道來

研究所學生,主修資訊工程,熱衷於深度學習與機器學習。初期先以基本的程式教學為主,希望我的文章能夠幫助到你!(https://linktr.ee/johnnyhwu)

Python 中的 Boolean Operator (2)

Boolean 是程式語言中相當基礎的觀念。如果你也對於程式語言感興趣,一定要了解 Boolean 是什麼!

前言 & 概述

本篇為 Python 程式語言入門教學的第 5 篇文章!在前一篇文章中,我們成功撰寫了第一個 Python 程式,一個能夠與使用者互動的 Python 程式。然而,目前的互動性仍然有些不足,我們希望程式可以根據使用者不同的輸入,進行不一樣的處理,變得更有彈性。

Python 中的 Boolean Operator 分為 (1) 與 (2) ,本篇文章將接續 (1) 繼續說明!

布林運算子

了解完「比較運算子」後,我們接著學習「布林運算子」。實際上,我們可以將「運算子」想成可以對這種資料類型進行的操作。例如:「整數」與「浮點數」的運算子叫包含了「+」、「-」、「*」、「/」、「%」、「//」。

布林運算子則包含了 3 種:「and」、「or」與「not」。布林運算子與比較運算子一樣,都會接受兩個布林數值,再回傳一個布林數值。我們接著了解這 3 種運算子的意義。

  • and : 如果兩個布林數值都是 True,則回傳 True;若存在一個 False,則回傳 False。我們可以執行以下 Python 程式碼,了解 and 的意義。

下圖為「and」的 Truth Table,Truth Table 中列出「and」的所有組合:

source: Automate the Boring Stuff with Python
  • or : 如果其中一個布林數值為是 True,則回傳 True;若兩個都是 False,則回傳 False。我們可以執行以下 Python 程式碼,了解 or 的意義。

下圖為 or 的 Truth Table,列出 or 的所有情況:

source: Automate the Boring Stuff with Python
  • not : 與 and 和 or 不同的是,not 只會接受「一個」布林數值,並回傳這個布林數值的「相反」。舉例來說,試著執行以下 Python 程式碼:

下圖為 not 的 Truth Table,列出 not 的所有情況:

source: Automate the Boring Stuff with Python

「比較運算子」與「布林運算子」混合使用

在程式中執行「比較運算子」得到的結果會是布林,因此我們可以透過「布林運算子」將多個「比較運算子」結合在一起,最終只會得到一個布林數值。

舉例來說,執行以下 Python 程式碼:

我們以最後一個例子來說明。如下圖所示,首先成會先執行 (2 != 3) 得到 True,再執行 (10 <= 6) 得到 False。再將兩者 or 在一起得到 True。最後再進行最外層的 not 得到 False。

結語

在本篇文章中,我們學習了程式語言中布林 (Boolean) 資料類型,以及相關的運算子 (Operator)。布林是流程控制 (Control Flow) 中基本的元素,在下一篇文章中將會介紹如何在 Python 中撰寫流程控制的語法 (Control Flow Statement)。

參考資料

✔️ Automate the Boring Stuff with Python
✔️ Python Official Document
✔️ Python Booleans: Optimize Your Code With Truth Values


👣 👣 👣 我喜歡撰寫程式開發、資料科學領域相關的文章,希望可以透過簡單的文字解釋複雜的觀念!如果你也有興趣可以到我的其他平台逛逛哦!
👉🏻 DataSci Ocean
👉🏻 YouTube
👉🏻 Instagram


系列文章

01 - Google Colaboratory 介紹
02 - Python 中的加減乘除
03 - Python 中的變數與資料類型
04 - 第一個 Python 程式


延伸閱讀

👉🏻 條件機率 vs 聯合機率
👉🏻 將 Django App 部署到 Heroku on Mac
👉🏻 在 LINE Developers 上建立 LINE Bot
👉🏻 原來「機率」是這麼一回事!

CC BY-NC-ND 2.0 版权声明

喜欢我的文章吗?
别忘了给点支持与赞赏,让我知道创作的路上有你陪伴。

加载中…
加载中…

发布评论