Python - 運算符:精通基礎的友好好指南
你好,有抱負的 Python 程式設計師!很高興能成為你在這個令人興奮的 Python 運算符世界之旅中的嚮導。作為一個教了多年程式設計的人,我可以向你保證,理解運算符就像學習工具箱中的基本工具一樣——一旦你掌握了它們,你會驚訝於你能夠建造什麼!
Python 運算符是什麼?
在我們深入探討之前,讓我們從一個簡單的類比開始。將運算符想像成 Python 語言中的動詞。正如動詞使我們能在英語中表達動作一樣,運算符使我們能在 Python 中執行動作。它們是操作我們數據並幫助我們創建有意義程式的勤勞工作者。
Python 中的運算符類型
Python 提供了一組豐富的運算符,我們可以將它們分類為幾個類別。讓我們探索每種類型,並通過一些例子來讓你說:“啊哈!我現在明白了!”
1. 算術運算符
這些可能是你最熟悉的——它們就像你在學校學過的基本數學運算,但它們現在是你的編碼盟友!
# 加法
print(5 + 3) # 輸出:8
# 減法
print(10 - 4) # 輸出:6
# 乘法
print(3 * 4) # 輸出:12
# 除法
print(20 / 5) # 輸出:4.0
# 整除(向下取整到最接近的整數)
print(17 // 3) # 輸出:5
# 餘數
print(17 % 3) # 輸出:2
# 指數
print(2 ** 3) # 輸出:8
這些運算符執行特定的數學運算。餘數運算符(%
)特別有用,當你需要檢查一個數字是否為偶數或奇數時——這是在我的編碼課程中我經常使用的一個技巧!
2. 比較運算符
這些運算符就像程式設計比賽中的裁判——它們比較值並返回 True
或 False
。
# 等於
print(5 == 5) # 輸出:True
# 不等於
print(5 != 3) # 輸出:True
# 大於
print(7 > 3) # 輸出:True
# 小於
print(2 < 8) # 輸出:True
# 大於或等於
print(5 >= 5) # 輸出:True
# 小於或等於
print(3 <= 1) # 輸出:False
我喜歡將這些運算符想成 Python 的“問題提問者”。他們一直在問:“這是真的嗎?”並給我們一個是或不是的答案。
3. 邏輯運算符
邏輯運算符是 Python 的決策者。它們幫助我們結合多個條件並做出複雜的決策。
# 並運算符
print(True and True) # 輸出:True
print(True and False) # 輸出:False
# 或運算符
print(True or False) # 輸出:True
print(False or False) # 輸出:False
# 否運算符
print(not True) # 輸出:False
print(not False) # 輸出:True
我經常告訴我的學生將 and
看作是一個嚴格的父親(兩個條件都必须為真),or
看作是一個寬容的父親(至少一個條件必須為真),而 not
看作是一個叛逆的青少年(總是反對!)。
4. 賦值運算符
這些運算符就像是 Python 的搬運工——它們將值賦給變量。
# 簡單賦值
x = 5
print(x) # 輸出:5
# 加並賦值
x += 3 # 等同於 x = x + 3
print(x) # 輸出:8
# 減並賦值
x -= 2 # 等同於 x = x - 2
print(x) # 輸出:6
# 乘並賦值
x *= 2 # 等同於 x = x * 2
print(x) # 輸出:12
# 除並賦值
x /= 3 # 等同於 x = x / 3
print(x) # 輸出:4.0
這些運算符是真正的節時器。比起寫 x = x + 3
,我們可以簡單地寫 x += 3
。這就像是 Python 的說法:“我挺你,家人!”
5. 身份運算符
身份運算符用於比較兩個對象的記憶體位置。
# 是運算符
x = [1, 2, 3]
y = [1, 2, 3]
z = x
print(x is z) # 輸出:True
print(x is y) # 輸出:False
print(x == y) # 輸出:True
# 不是運算符
print(x is not y) # 輸出:True
is
運算符檢查兩個變量是否指的是記憶體中同一個對象。這就像問:“這兩個東西其實是同一個東西嗎?”這可能會很複雜,所以 我經常提醒我的學生使用 ==
進行值比較,使用 is
進行身份比較。
6. 成員運算符
這些運算符就像俱樂部的門衛——他們檢查一個值是否為序列的成員。
# 在運算符
fruits = ['apple', 'banana', 'cherry']
print('banana' in fruits) # 輸出:True
# 不在運算符
print('mango' not in fruits) # 輸出:True
我喜歡在教學列表時使用這些運算符。它們使得檢查一個項目是否存在變得非常容易!
Python 運算符優先級
現在我們已經見過了所有的運算符,理解 Python 如何決定先評估哪個運算符是很重要的。這稱為運算符優先級,它就像是精緻 Python 派對上的 VIP 名單——有些運算符可以先進去!
以下是運算符優先級的表格,從最高到最低:
運算符 | 描述 |
---|---|
() | 括號 |
** | 指數 |
+x, -x, ~x | 一元加號、減號和位元NOT |
*, /, //, % | 乘法、除法、整除、餘數 |
+, - | 加法、減法 |
<<, >> | 位元位移 |
& | 位元AND |
^ | 位元XOR |
| | 位元OR |
==, !=, >, >=, <, <=, is, is not, in, not in | 比較、身份、成員 |
not | 邏輯NOT |
and | 邏輯AND |
or | 邏輯OR |
記住,你可以總是使用括號來明確指定運算的順序。這就像給你的表達式的一部分一張 VIP 過通證一樣!
# 沒有括號
print(2 + 3 * 4) # 輸出:14
# 有括號
print((2 + 3) * 4) # 輸出:20
在第一個例子中,乘法具有更高的優先級,所以 3 * 4
先被評估。在第二個例子中,括號覆蓋了默認的優先級,所以加法先發生。
就這樣,各位!你們剛剛完成了 Python 運算符的速成課程。記住,練習使完美,所以不要害怕在自己的代碼中嘗試這些運算符。在你察覺之前,你將能夠像大廚一樣將它們結合起來——創造出複雜且美味的 Python 程式!
編程快樂,願運算符與你同在!
Credits: Image by storyset