常見運算符
常見運算符有:
加(+)、減(-)、乘(*)、除(/)、等於(==)、取商(//)、取余(%)、賦值運算符(=)
print(10 + 4)
print(10 - 4)
print(10 * 4)
print(10 / 4)
print(10 == 4)
print(10 // 4)
print(10 % 4)
num = 10
print(num)
增量賦值
x += 100 # x = x + 100
y -= 100 # y = y - 100
z *= 100 # z = z * 100
m /= 100 # m = m / 100
鏈式賦值
x = 100
y = 100
z = 100
#上述三個式子可以簡化為:
x = y = z = 100
交叉賦值
m = 100
n = 200
怎么樣令m 與 n的值交換呢?
常見錯誤形式:
m = n
n = m
print(m, n) # 這樣完全是錯誤的,根據賦值符號的本質可以知道。這樣處理厚的m、n都是200
正確形式有兩種:
1. 通過中間變量進行交換(過於繁瑣不予推薦)
m = 100
n = 200
tem = m
m = n
n = tem
print(m, n)
2. 通過交叉賦值
m = 100
n = 200
m, n = n, m
print(m, n)
解壓賦值:取開頭和結尾的幾個值
salary=[21,15,13,9,26]
x=salary[0]
y=salary[1]
z=salary[2]
a=salary[3]
b=salary[4]
print(x, y, z, a, b)
這樣從列表里取每個值並賦值給另一個變量名過於麻煩,可以用解壓賦值來解決這類問題。
方式一:
x,y,z,a,b=salary # 這樣解壓賦值時賦值符號左邊的變量名必須與右邊數值個數相等,不可多,不可少
print(x, y, z, a, b)
方式二:
x, y, *zab = salary # 這樣解壓賦值時是取前面兩個值分別賦給 x 和 y,剩余的存在列表里賦值給*zab
print(x, y, *zab)
x, *abc, z = salary # 這樣解壓賦值時是分別取最前和最后兩個值分別賦給 x 和 b,剩余的存在列表里賦值給*yza
print(x, *yza, b)
# 無用的數據復制給一個列表的時候,為了滿足語法,可以用下划線做變量名,指向無用數據
邏輯運算符
邏輯運算符有三種,分別是與(and)、或(or)、非(not)
1. 與(and) # 表示且的意思,即所有的條件都要滿足,結果才能是True。
2 > 1 and 1 = 1 and True and 3 > 2 # 結果為True
2 < 1 and 1 = 1 and True and 3 > 2 # 結果為False
2. 或(or) # 表示或者的意思,只要條件里有一個滿足的結果就為True;一個條件都不滿足結果才為False
2 < 1 or 1 != 1 or False or 3 < 2 # 結果為True
2 < 1 or 1 != 1 or False or 3 > 2 # 結果為False
3. 非(not) #not 會造成條件翻轉,使False變成True,使True變成False。
not True # 結果為False
not False # 結果為True
# 這三種邏輯運算符混合使用時有優先級,不過一般不需要記憶。我們在進行編程時應該提前規定好。
(3>4 and 4>3) or ((1==3 and 'x' == 'x') or 3 >3)
print((3 > 4 and 4 > 3) or (not ((1 == 3 and 'x' == 'x')) or 3 > 3))
成員運算
成員運算的主要運算是判斷某個數據是否在摸個群體內。
add_list = ['商丘', '鄭州', '上海', '武漢', '杭州', '北京', '香港']
print('上海' in add_list) # True
print('長沙' in add_list) # False
身份運算
1. is:判斷兩個數據的內存地址是否一致
2. ==:判斷兩個數據的值是否一致
l1 = ['cheng', 'kong', 'wang']
l2 = ['cheng', 'kong', 'wang']
print(id(l1),id(l2)) # print(id(l1),id(l2))得到的倆個不相等的內存地址
print(l1 == l2) # 得到的是true
print(l1 is l2) # 得到的是false
# 很明顯通過上面的也能知道is是判斷倆個成員的id是否相等
# 而==判斷的是倆個成員的值是否相等
# 值相等id不一定相等
# 內存地址相等值一定相等
