目錄
- 算術運算符
- 比較運算符
- 指派運算符
- 邏輯運算符
- 身份運算符
- 位運算符
- 成員運算符
- Python運算符優先級
當我們眼前飄過一隻生物後,我們會立即獲得這個生物的資訊,種類、性别、身高、三維,當我們擷取這些資訊的同時,我們還會馬上對這些資訊做一些邏輯處理,如這個生物種類是老虎的時候,我們會跑開;這個生物是人,性别為女,但是身高隻有一米三時,我們可能會不自覺地靠近?
算術運算符就是我們從國小就開始抓起的加減乘除,這裡我就不多介紹,如果認為有問題的同學,可以抽空回到國小聯系你國小班主任,讓他給你補補課。
print(1 + 2)
3
x = 10
y = 20
res = x + y
print(res)
30
# /有零有整除,得到一個浮點型
print(10 / 3)
3.3333333333333335
# 地闆除,隻取整數部分
print(10 // 3)
print(10 // 4)
3
2
# %:取餘
print(10 % 3)
1
# **,幂
print(10**3)
1000

此處直接貼圖了,以下假設變量a為10,變量b為20。
pwd = '123'
print(pwd != '123')
print(pwd == '123')
False
True
l1 = [1, 'a', 3]
l2 = [3]
print(l1 < l2) # False
True
try:
l3 = [1, 3]
print(l1 < l3) # 報錯,清單比較大小僅限于同一位置的對應的值是相同的類型
except Exception as e:
print(e)
name 'l1' is not defined
age = 19
age = age + 1
print(age)
20
age = 19
age += 1
print(age)
20
age = 19
age *= 10
print(age)
190
# 從左到右的方式找到邏輯運算符,找到邏輯運算符的左邊,左邊成立,再去找到邏輯運算符的右邊
print(3 > 3 and 1 > 2 or 2 > 1) # False
True
身份運算符用于比較兩個對象的存儲單元。
is和==的差別:is用于判斷兩個變量引用對象是否為同一個(是否在同一塊記憶體空間中), ==用于判斷引用變量的值是否相等。
x = 257
y = x
z = 257
print(f'x is y:{x is y}')
print(f'x == y:{x == y}')
print(f'x is z:{x is z}')
print(f'x == z:{x == z}')
x is y:True
x == y:True
x is z:False
x == z:True
按位運算符是把數字看作二進制來進行計算的。Python中的按位運算法則如下:
下表中變量 a 為 60,b 為 13,二進制格式如下:
a = 0011 1100
b = 0000 1101
a&b = 0000 1100
a|b = 0011 1101
a^b = 0011 0001
~a = 1100 0011
a = 60 # 60 = 0011 1100
b = 13 # 13 = 0000 1101
c = 0
c = a & b
# 12 = 0000 1100
print("1 - c 的值為:", c)
1 - c 的值為: 12
c = a | b
# 61 = 0011 1101
print("2 - c 的值為:", c)
2 - c 的值為: 61
c = a ^ b
# 49 = 0011 0001
print("3 - c 的值為:", c)
3 - c 的值為: 49
c = ~a
# -61 = 1100 0011
print("4 - c 的值為:", c)
4 - c 的值為: -61
c = a << 2
# 240 = 1111 0000
print("5 - c 的值為:", c)
5 - c 的值為: 240
c = a >> 2
# 15 = 0000 1111
print("6 - c 的值為:", c)
6 - c 的值為: 15
除了以上的一些運算符之外,Python還支援成員運算符,測試執行個體中包含了一系列的成員,包括字元串,清單或元組。
a = 10
b = 20
list = [1, 2, 3, 4, 5]
if (a in list):
print("1 - 變量 a 在給定的清單中 list 中")
else:
print("1 - 變量 a 不在給定的清單中 list 中")
1 - 變量 a 不在給定的清單中 list 中
if (b not in list):
print("2 - 變量 b 不在給定的清單中 list 中")
else:
print("2 - 變量 b 在給定的清單中 list 中")
2 - 變量 b 不在給定的清單中 list 中
# 修改變量 a 的值
a = 2
if (a in list):
print("3 - 變量 a 在給定的清單中 list 中")
else:
print("3 - 變量 a 不在給定的清單中 list 中")
3 - 變量 a 在給定的清單中 list 中
python運算符的優先級相當于數學中的先算乘除再算加減,但是這很愚蠢,優先級高的你括号括起來就行了...
a = 20
b = 10
c = 15
d = 5
e = 0
(a + b) * c / d 運算結果為: 90.0
e = ((a + b) * c) / d # (30 * 15 ) / 5
print("((a + b) * c) / d 運算結果為:", e)
((a + b) * c) / d 運算結果為: 90.0
e = (a + b) * (c / d); # (30) * (15/5)
print("(a + b) * (c / d) 運算結果為:", e)
(a + b) * (c / d) 運算結果為: 90.0
e = a + (b * c) / d; # 20 + (150/5)
print("a + (b * c) / d 運算結果為:", e)
a + (b * c) / d 運算結果為: 50.0