更新於 2024/01/12閱讀時間約 4 分鐘

[Python基礎]基本語法_邏輯運算子


邏輯運算子

它們在許多情境下都是程式語言中重要的工具,用於進行條件判斷控制流程

在日常中總會遇到有些需要思考判斷的問題,比如要買東西,就會考慮到CP值,東西要好要便宜,就是and的概念,如果在一些比較複雜的狀況,例如想晚餐吃什麼,就會想火鍋燒烤都行,這就是or的概念。

以下是Python中常見的邏輯運算子:

已變數X與Y來舉例。

  1. and : X與Y都要為True,輸出才會為True,否則都為False
  2. or : X與Y其中一個為True,輸出就會為True
  3. not : 使輸出結果相反,輸入為True,輸出則會為False

以下用真值表來表示,X and Y X or Y,在四種情況下的輸出結果:

由圖可知and就是且的概念,or就是或的概念。

真值表

程式範例說明

a = True
b = False

result = a and b
print(result) # Output: False 印出False

a and b

a or b

not a

這些邏輯運算子可以結合使用,並可以用於構建更複雜的條件表達式。例如:

x and (y or z)

跟數值運算的規則一樣,有括號的( )優先做。


當然,除了基本的邏輯運算子,Python還提供了一些進階的邏輯運算子和其他相關的功能。以下是一些進階用法:

比較運算符:

==(等於)、!=(不等於)、<(小於)、>(大於)、<=(小於或等於)、>=(大於或等於)等比較運算符,這些也可以用於邏輯運算。

程式範例

其中的result = a是否等於b ,等於將True賦予result,不等於將False賦予result

程式範例

比較運算子

in和not in運算子:

  • 用於測試一個值是否存在於序列中。
  • 以下範例 in的用法就是檢查數字3是否存在my_list這個list內,是就回傳True,否就回傳False
my_list = [1, 2, 3, 4]

result = 3 in my_list #檢查3是否在my_list
not_result = 3 not in my_list
print(result) # Output: True
print(not_result) # Output: False

in邏輯運算子

is和is not運算子:

  • 用於比較兩個對象的身份(identity),而不是值。
x = [1, 2, 3]
y = [1, 2, 3]

result = x is y
print(result) # Output: Fals

is邏輯運算子

疑,這兩個數字不是都一樣,為什麼返回是False,哦,原來is運算子是比較兩個對象的身份,即它們是否引用相同的物件,而不僅僅是它們的值是否相等。這兩個運算子在特定的情況下非常有用:

檢查對象是否為 None

  • None 是Python中表示缺失或空值的特殊對象。你可以使用 is 運算子來檢查一個對象是否為 None

檢查是否為空值

any和all函數:

  • any(iterable):如果iterable中的任何元素為True,則返回True
  • all(iterable):如果iterable中的所有元素都為True,則返回True

在程式語言中,「可迭代對象」(iterable)是指可以被迭代遍歷的對象。可迭代對象可以是一個集合,例如列表、元組、字串,也可以是其他一些對象,如字典、集合等。基本上,如果你可以使用 for 迴圈遍歷對象的元素,那麼該對象就是可迭代的。

all any

使用 any 函數:

  1. 檢查列表中是否存在正數:
numbers = [-2, 0, 5, -8, 10]
result = any([num > 0 for num in numbers])
print(result) # Output: True

result_list = [num > 0 for num in numbers] #列表生成器
print(result_list)

其中[num > 0 for num in numbers]是比較進階的用法,列表生成器的概念,後面有機會在其他章節介紹,這段意思就是會for 走過numbers每個一個數字去看是否大於0把結果(True或False)存在一個list內

檢查是否有正數(大於0)

使用 all 函數:

  1. 檢查列表中的元素是否都是正數:

all 函數用於檢查列表中的所有元素是否都大於 0

numbers = [2, 4, 6, 8, 10]
result = all([num > 0 for num in numbers])
print(result) # Output: True

all用法,檢查是否都為正數


邏輯運算子就介紹到這邊,喜歡的話在追蹤給愛心給我一些鼓勵 謝謝大家





分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.