1. 程式人生 > 實用技巧 >1073 多選題常見計分法 (20分)

1073 多選題常見計分法 (20分)

[基本運算子]

目錄

當我們眼前飄過一隻生物後,我們會立即獲得這個生物的資訊,種類、性別、身高、三維,當我們獲取這些資訊的同時,我們還會馬上對這些資訊做一些邏輯處理,如這個生物種類是老虎的時候,我們會跑開;這個生物是人,性別為女,但是身高只有一米三時,我們可能會不自覺地靠近?

算術運算子#

算術運算子就是我們從小學就開始抓起的加減乘除,這裡我就不多介紹,如果認為有問題的同學,可以抽空回到小學聯絡你小學班主任,讓他給你補補課。

Copyprint(1 + 2)
Copy3
Copyx = 10
y = 20
res = x + y
print(res)
Copy30
Copy# /有零有整除,得到一個浮點型
print(10 / 3)
Copy3.3333333333333335
Copy# 地板除,只取整數部分
print(10 // 3)
print(10 // 4)
Copy3
2
Copy# %:取餘
print(10 % 3)
Copy1
Copy# **,冪
print(10**3)
Copy1000

比較運算子#

此處直接貼圖了,以下假設變數a為10,變數b為20。

Copypwd = '123'
print(pwd != '123')
print(pwd == '123')
CopyFalse
True
Copyl1 = [1, 'a', 3]
l2 = [3]
print(l1 < l2)  # False
CopyTrue
Copytry:
    l3 = [1, 3]
    print(l1 < l3)  # 報錯,列表比較大小僅限於同一位置的對應的值是相同的型別
except Exception as e:
    print(e)
Copyname 'l1' is not defined

賦值運算子#

此處直接貼圖了,以下假設變數a為10,變數b為20。

Copyage = 19
age = age + 1
print(age)
Copy20
Copyage = 19
age += 1
print(age)
Copy20
Copyage = 19
age *= 10
print(age)
Copy190

邏輯運算子#

此處直接貼圖了,以下假設變數a為10,變數b為20。

Copy# 從左到右的方式找到邏輯運算子,找到邏輯運算子的左邊,左邊成立,再去找到邏輯運算子的右邊
print(3 > 3 and 1 > 2 or 2 > 1)  # False
CopyTrue

身份運算子#

身份運算子用於比較兩個物件的儲存單元。

is和==的區別:is用於判斷兩個變數引用物件是否為同一個(是否在同一塊記憶體空間中), ==用於判斷引用變數的值是否相等。

Copyx = 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}')
Copyx is y:True
x == y:True
x is z:False
x == z:True

位運算子#

按位運算子是把數字看作二進位制來進行計算的。Python中的按位運演算法則如下:

下表中變數 a 為 60,b 為 13,二進位制格式如下:

Copya = 0011 1100

b = 0000 1101

-----------------

a&b = 0000 1100

a|b = 0011 1101

a^b = 0011 0001

~a  = 1100 0011

Copya = 60  # 60 = 0011 1100
b = 13  # 13 = 0000 1101
c = 0

c = a & b
# 12 = 0000 1100
print("1 - c 的值為:", c)
Copy1 - c 的值為: 12
Copyc = a | b
# 61 = 0011 1101
print("2 - c 的值為:", c)
Copy2 - c 的值為: 61
Copyc = a ^ b
# 49 = 0011 0001
print("3 - c 的值為:", c)
Copy3 - c 的值為: 49
Copyc = ~a
# -61 = 1100 0011
print("4 - c 的值為:", c)
Copy4 - c 的值為: -61
Copyc = a << 2
# 240 = 1111 0000
print("5 - c 的值為:", c)
Copy5 - c 的值為: 240
Copyc = a >> 2
# 15 = 0000 1111
print("6 - c 的值為:", c)
Copy6 - c 的值為: 15

成員運算子#

除了以上的一些運算子之外,Python還支援成員運算子,測試例項中包含了一系列的成員,包括字串,列表或元組。

Copya = 10
b = 20
list = [1, 2, 3, 4, 5]

if (a in list):
    print("1 - 變數 a 在給定的列表中 list 中")
else:
    print("1 - 變數 a 不在給定的列表中 list 中")
Copy1 - 變數 a 不在給定的列表中 list 中
Copyif (b not in list):
    print("2 - 變數 b 不在給定的列表中 list 中")
else:
    print("2 - 變數 b 在給定的列表中 list 中")
Copy2 - 變數 b 不在給定的列表中 list 中
Copy# 修改變數 a 的值
a = 2
if (a in list):
    print("3 - 變數 a 在給定的列表中 list 中")
else:
    print("3 - 變數 a 不在給定的列表中 list 中")
Copy3 - 變數 a 在給定的列表中 list 中

Python運算子優先順序#

python運算子的優先順序相當於數學中的先算乘除再算加減,但是這很愚蠢,優先順序高的你括號括起來就行了...


以下例項演示了Python所有運算子優先順序的操作:

Copya = 20
b = 10
c = 15
d = 5
e = 0
 
e = (a + b) * c / d       #( 30 * 15 ) / 5
print("(a + b) * c / d 運算結果為:",  e)
Copy(a + b) * c / d 運算結果為: 90.0
Copye = ((a + b) * c) / d     # (30 * 15 ) / 5
print("((a + b) * c) / d 運算結果為:",  e)
Copy((a + b) * c) / d 運算結果為: 90.0
Copye = (a + b) * (c / d);    # (30) * (15/5)
print("(a + b) * (c / d) 運算結果為:",  e)
Copy(a + b) * (c / d) 運算結果為: 90.0
Copye = a + (b * c) / d;      #  20 + (150/5)
print("a + (b * c) / d 運算結果為:",  e)
Copya + (b * c) / d 運算結果為: 50.0