Python 運算子
Python 運算子是我們用來對值和變數執行操作的符號。
我們可以根據它們執行的操作種類將運算子分為以下幾類:
- 指派運算子
- 算術運算子
- 比較運算子
- 邏輯運算子
- 位元運算子
還有一些有趣的運算子,比如 is
和 in
。
指派運算子
指派運算子用於將值賦予一個變數:
1 | age = 8 |
或者將一個變數的值賦予另一個變數:
1 | age = 8 |
自 Python 3.8 開始,:=
名為「齊肩大象運算子(walrus operator)」的運算子可以在另一個操作的一部分中將值賦予變數。例如,在 if
語句中或在循環的條件部分中使用。稍後將更詳細地談到。
算術運算子
Python 有許多算術運算子:+
、-
、*
、/
(除法)、%
(取餘數)、**
(幂運算)和 //
(整數除法):
1 | 1 + 1 #2 |
注意,操作數之間不需要空格,但為了可讀性,最好空一格。
-
也可以作為一元負號運算子使用:
1 | print(-4) #-4 |
+
也用於連接字符串值:
1 | "Roger" + " 是一條好狗" |
我們可以結合指派運算子和算術運算子:
+=
-=
*=
/=
%=
- 等等
例如:
1 | age = 8 |
比較運算子
Python 定義了一些比較運算子:
==
!=
>
<
>=
<=
您可以使用這些運算子根據結果獲取布林值(True
或 False
):
1 | a = 1 |
邏輯運算子
Python 提供了以下邏輯運算子:
not
and
or
在處理 True
或 False
屬性時,它們起到邏輯 AND、OR 和 NOT 的作用,並且經常在 if
條件表達式的求值中使用:
1 | condition1 = True |
否則,需要注意可能會引起困惑的地方。
or
在表達式中使用時,返回的是第一個不為假值(False
、0
、''
、[]
等)的操作數的值。否則,它返回最後一個操作數。
1 | print(0 or 1) ## 1 |
Python 文檔將其描述為 if x is false, then y, else x
。
and
只有在第一個參數為 True
時才計算第二個參數。因此,如果第一個參數為假值(False
、0
、''
、[]
等),它將返回該參數。否則,它將計算第二個參數:
1 | print(0 and 1) ## 0 |
Python 文檔將其描述為 if x is false, then x, else y
。
位元運算子
某些運算子用於操作位元和二進制數:
&
執行二進制 AND|
執行二進制 OR^
執行二進制 XOR 運算~
執行二進制 NOT 運算<<
左移運算>>
右移運算
位元運算子很少使用,只在非常特殊的情況下使用,但值得一提。
is
和 in
is
被稱為身份運算子。它用於比較兩個對象,如果它們是同一個對象,則返回 True
。更多關於對象的內容稍後再談。
in
被稱為成員運算子。它用於判斷一個值是否包含在列表或其他序列中。更多關於列表和其他序列的內容稍後再談。
tags: [“python”, “operators”, “arithmetic operators”, “comparison operators”, “logical operators”, “bitwise operators”, “is”, “in”]