2.1. 比較與邏輯運算子
比較運算子
在Python中可以使用「比較運變數子」來判斷變數之間的關係:
- 大於:>
- 大於等於:>=
- 小於:<
- 小於等於:<=
- 等於: ==
- 不等於: !=
>>> x, y = 2, 3
>>> x > y
False
>>> x >= y
False
>>> x < y
True
>>> x <= y
True
>>> x == y
False
>>> X != y
True
邏輯運算子
「邏輯運算子」又被稱做「布林運算子」,可以用來判斷布林值之間的關係,真值表被用來表示邏輯運算子的件用。 [Link]
- 且:and
變數 p | 變數 q | p and q | 結果 |
---|---|---|---|
True | True | True and True | True |
True | False | True and False | False |
False | True | False and True | False |
False | False | False and False | False |
從 and 的真值表可以得知,只有當變數 p 和 q 的布林值都是True,其結果是 True,否則結果是 False。
- 或:or
變數 p | 變數 q | p or q | 結果 |
---|---|---|---|
True | True | True or True | True |
True | False | True or False | True |
False | True | False or True | True |
False | False | False or Fasle | False |
從 or 的真值表可以得知,當變數 p 和 q 兩者中有一個是 True 時,其結果是 True,否則結果是False。
- 非:not
變數 p | not p | 結果 |
---|---|---|
True | not True | False |
False | not False | True |
從 not 的真值表可以得知,當對變數 p 做 not 的邏輯運算是,其結果為相反,即 not True 為 False 及 not False 為 True。
此外,比較運算子「==」及「!=」可以用在邏輯運算中,其真值表如下:
- 等於: ==
變數 p | 變數 q | p == q | 結果 |
---|---|---|---|
True | True | True == True | True |
True | False | True == False | False |
False | True | False == True | False |
False | False | False == False | True |
從 == 的真值表可以得知,當數變 p 和 q 的值相同時,其結果是 True,否則結果為 False。
- 不等於: !=
變數 p | 變數 q | p != q | 結果 |
---|---|---|---|
True | True | True != True | False |
True | False | True != False | True |
False | True | False != True | True |
False | False | False != False | False |
在做邏輯運算的時候,有時候會需要比較長的邏輯表示方式,這個時候會需要使用括號「( )」來區分邏輯運算的順序。比較運算子和邏輯運算子也會被一起使用。
>>> x, y = True, False
>>> (x or y) and x
True
>>> x, y = True, False
>>> (x == y) or (x != y)
True
>>> x, y, z = 1, 2, 3
>>> (y > x) and (y < z)
True
>>> (x > y) and (z < x)
False
參考資料
- Python Comparison Operators Example
- Python Logical Operators Example
- Python自動化的樂趣, 第二章, Al Sweigart 著、H&C 譯, 碁峰
- Python編程入門第3版(簡), 第四章, Toby Donaldson著, 人民郵電出版社
- 精通 Python, 第四章, Bill Lubanovic著, 賴屹民譯, 歐萊禮