Python 中的運算子在建立有意義的程序上是不可或缺的。這些運算子與數學符號類似,均具有特定的用途。在此文章中,我們將深入探討 Python 中的各種運算子,闡述其功能並提供範例程式碼以供更清晰的理解。
算術運算子用於基本的數學操作,例如加、減、乘、除等。
a = 5
b = 3
print(a + b) # 加法
print(a - b) # 減法
print(a * b) # 乘法
print(a / b) # 除法
8
2
15
1.6666666666666667
運算子 | 運算 | 範例 | 結果 | 描述 |
---|---|---|---|---|
+ | 加法 | 5 + 8 | 13 | 兩側的值相加 |
- | 減法 | 8 - 5 | 3 | 右側的值從左側減去 |
* | 乘法 | 5 * 8 | 40 | 兩側的值相乘 |
/ | 除法 | 8 / 2 | 4 | 左側的值除以右側 |
% | 取餘 | 8 % 5 | 3 | 返回除法的餘數 |
// | 地板除法 | 8 // 5 | 1 | 除法的結果為最靠近數線左側的整數 |
** | 指數運算 | 2 ** 3 | 8 | 對運算子進行指數(冪)計算 |
關係運算子用於比較兩個運算元的值,透過這些運算子,可以確定兩個值是否相等、一個值是否大於另一個,或者一個是否小於另一個。
print(a > b) # 大於
print(a < b) # 小於
print(a == b) # 等於
True
False
False
運算子 | 運算 | 範例 | 結果 | 描述 |
---|---|---|---|---|
== | 等於 | 5 == 8 | False | 如果兩個運算元的值相等則為真 |
!= | 不等於 | 5 != 8 | True | 如果兩個運算元的值不相等則為真 |
> | 大於 | 8 > 5 | True | 如果左運算元大於右運算元則為真 |
< | 小於 | 5 < 8 | True | 如果左運算元小於右運算元則為真 |
>= | 大於或等於 | 8 >= 5 | True | 如果左運算元大於或等於右運算元則為真 |
<= | 小於或等於 | 5 <= 8 | True | 如果左運算元小於或等於右運算元則為真 |
邏輯運算子用於評估多個條件的真偽。這些運算子主要用於控制程序的流程,通過組合不同的條件產生最終的邏輯結果(真或假)。
x = True
y = False
print(x and y) # 邏輯且
print(x or y) # 邏輯或
print(not x) # 邏輯非
False
True
False
運算子 | 運算 | 範例 | 結果 | 描述 |
---|---|---|---|---|
and | 邏輯且 | True and False | False | 如果兩個運算元都為真則為真 |
or | 邏輯或 | True or False | True | 如果至少有一個運算元為真則為真 |
not | 邏輯非 | not True | False | 如果運算元為假則為真(運算元的補數) |
位元運算子作用於數字的二進制表示。它們在運算元的每個位上執行操作,以支援在位元層級的邏輯運算、移位和否定操作。
print(a & b) # 位元且
print(a | b) # 位元或
print(a ^ b) # 位元互斥或
1
7
6
運算子 | 運算 | 範例 | 結果 | 描述 |
---|---|---|---|---|
& | 位元且 | 5 & 3 | 1 | 兩個運算元中都設置的位 |
| | 位元或 | 5 | 3 | 7 | 任一運算元中設置的位 |
^ | 位元互斥或 | 5 ^ 3 | 6 | 僅在一個運算元中設置的位 |
~ | 位元非 | ~5 | -6 | 設置的位將不被設置,反之亦然 |
<< | 左移 | 5 << 1 | 10 | 將數字的位移至左邊 |
>> | 右移 | 5 >> 1 | 2 | 將數字的位移至右邊 |
指派運算子被用於將值指派給變量。除基本的指派之外,這些運算子也提供將操作與指派結合的功能。例如,它們可以增加一個特定數字到一個值,然後將結果指派給一個變量。
a += 2 # 將 a 的值增加 2
b -= 1 # 將 b 的值減少 1
a = 7
b = 2
運算子 | 操作 | 範例 | 結果 | 描述 |
---|---|---|---|---|
= | 指派 | x = 7 | 7 | 將右運算元的值指派給左運算元 |
+= | 加並指派 | x += 3 | x + 3 | 將右運算元加到左運算元,然後將結果指派給左運算元 |
-= | 減並指派 | x -= 3 | x - 3 | 從左運算元減去右運算元,然後將結果指派給左運算元 |
*= | 乘並指派 | x *= 3 | x * 3 | 將左運算元乘以右運算元,然後將結果指派給左運算元 |
/= | 除並指派 | x /= 3 | x / 3 | 將左運算元除以右運算元,然後將結果指派給左運算元 |
%= | 取模並指派 | x %= 3 | x % 3 | 用右運算元對左運算元取模,然後將結果指派給左運算元 |
//= | 取整數除法的商並指派 | x //= 3 | x // 3 | 將左運算元進行整數除法後指派給左運算元 |
**= | 指數並指派 | x **= 3 | x ** 3 | 將左運算元提升到右運算元的指數,然後將結果指派給左運算元 |
成員運算子用於檢測值是否存在於一個序列中,例如列表、字符串或元組。主要用於檢查特定元素是否存在於指定的序列中。
list = [1, 2, 3, 4, 5]
print(3 in list) # 檢查3是否在列表中
print(6 not in list) # 檢查6是否不在列表中
True
True
運算子 | 操作 | 範例 | 結果 | 描述 |
---|---|---|---|---|
in | 若變量在指定的序列中找到則評估為真,否則為假 | 5 in [1, 2, 3, 4, 5] | True | 若值/變量在序列中被找到則為真 |
not in | 若變量在指定的序列中未找到則評估為真,否則為假 | 6 not in [1, 2, 3, 4, 5] | True | 若值/變量不在序列中則為真 |
身份運
算子用於比較兩個對象的記憶體位置。它們主要用於確定兩個變量是否引用記憶體中的同一對象。
x = [1, 2, 3]
y = x
print(y is x) # 因為 y 和 x 指向同一對象所以為真
print(y is not x) # 出於同樣的原因而為假
True
False
運算子 | 操作 | 範例 | 結果 | 描述 |
---|---|---|---|---|
is | 若兩邊的變量指向同一對象則評估為真,否則為假 | x is y | 取決於 x 和 y 的值 | 若兩個變量是同一對象則為真 |
is not | 若兩邊的變量不指向同一對象則評估為真,否則為假 | x is not y | 取決於 x 和 y 的值 | 若兩個變量不是同一對象則為真 |
理解Python的運算子對於高效的編程至關重要。無論是比較變量、調整值還是進行計算,Python的多功能運算子都是這些操作的核心。
==
和 =
有什麼區別?==
用於比較兩運算元的值是否相等,返回布爾值(True
或 False
)。例如,7 == 7
的結果是 True
。而 =
用於將右運算元的值指派給左邊的變量。//
和 /
有什麼區別?/
運算子進行除法並返回浮點數結果。例如,5 / 2
的結果是 2.5
。相反,//
進行除法並向下取整到最接近的整數,所以 5 // 2
的結果是 2
。&
或 |
?is
運算子而不是 ==
?is
運算子檢查兩個變量是否引用記憶體中的確切同一對象,而不僅僅是它們是否具有相等的值。例如,兩個具有相同值的列表對於 ==
可能是 True
,但如果它們在記憶體中是不同的對象,則對於 is
是 False
。in
和 not in
如何與不同的Python數據類型一起工作?in
用於驗證是否存在子字符串。在列表或元組中,它檢查項目是否存在。例如,'apple' in 'pineapple'
的結果是 True
,而 3 in [1, 2, 3]
的結果也是 True
。[Python] 通過各種實例深入理解位元運算符 |
---|
[Python] 通過各種實例深入理解關係運算符 |
[Python] 解決 'zsh: command not found: python' 錯誤的方法 |
[Python] 通過各種實例深入理解賦值運算符 |
[Python] 通過各種實例深入理解算術運算符 |
CloneCoding
創新從一行代碼開始!