算術運算子
算數運算子包含有+(加)、-(減)、*(乘)、/(除)、//(地板除)、**(冪運算)、%(取余)
/ (結果為小數)
var1 = 2
var2 = 2
res = var1 / var2
print(res)
//
- 被除數 ? 除數 = 商
- 注意點:如果被除數或者除數是小數,那么在正常結果后加上.0變成小數
var1 = 2
var2 = 2.0
res = var1 // var2
print(res)
%
var1 = 7
var2 = 4
res = var1 % var2
print(res) # 3
var1 = -7
var2 = 4
res = var1 % var2
print(res) # -3 + 4 = 1
var1 = 7
var2 = -4
res = var1 % var2
print(res) # 3 + (-4) = -1
var1 = -7
var2 = -4
res = var1 % var2
print(res) # -3
**
res = 3 ** 2
print(res)
比較運算子
- 比較運算子包含有>(大于)、<(小于)、>=(大于等于)、<=(小于等于)、==(等于)、!=(不等于)
- 比較運算子的結果要么是True,要么是False,只有兩個值
==
# 這個符號是在做比較,比較==兩邊的數值是否一樣
res = 5 == 9
print(res)
賦值運算子
賦值運算子包含有=、+=、-=、*=、/=、//=、%=、**=
= 將右側的值賦值給左側變數
a = 5 <= 3
print(a)
*=
"""
var1 *= var2 相當于 var1 = var1 * var2
"""
var1 *= var2
print(var1)
成員運算子
- 成員運算子包含有in、not in(針對于容器型資料)
- in或not in是判斷某個值是否包含在(或不在)一個容器型別資料當中
- 字串判斷時,必須是連續的片段
- 針對于字典,判斷的是字典的鍵,而不是字典的值
strvar = "今天天氣要下雨,趕緊回家收衣服"
res = "今" in strvar
res = "趕回" in strvar
print(res)
身份運算子
身份運算子包含有is和is not(檢測兩個資料id是否相同),可參考python3.6變數快取機制
邏輯運算子
邏輯運算子包含有and、or、not
and 邏輯與
"""全真則真,一假則假"""
res = True and True # True
res = True and False # False
res = False and True # False
res = False and False # False
print(res)
or 邏輯或
"""一真則真,全假則假"""
res = True or True # True
res = False or True # True
res = True or False # True
res = False or False # False
print(res)
not 邏輯非
res = not True
res = not False
print(res)
邏輯短路的兩種情況
如果短路,無論后面的運算式是True還是False都已經無法改變結果,后面的代碼不執行
- (1) True or 運算式
- (2) False and 運算式
位運算子
位運算子包含有&(按位與)、|(按位或)、^(按位異或)、<<(左移)、>>(右移)、~(按位非)
& 按位與
var1 = 19
var2 = 15
res = var1 & var2
"""
000 ... 10011
000 ... 01111
000 ... 00011 => 3
^ 按位異或
"""
兩個值不相同,回傳True
兩個值相同,回傳False
"""
var1 = 19
var2 = 15
res = var1 ^ var2
"""
000 ... 10011
000 ... 01111
000 ... 11100
"""
<< 左移與>> 右移
"""
左移:m乘n的n次冪
右移:m地板除n的n次冪
"""
# res = m << n
res = 5 << 3 # 40
res = 5 >> 1 # 2
print(res)
~ 按位非
# 針對于補碼進行操作,按位取反,包含每一位
# 計算公式:-(n+1)
res = ~19
print(res)
"""
原碼:000 ... 10011
反碼:000 ... 10011
補碼:000 ... 10011
補碼: 000 ... 10011
按位非: 111 ... 01100
補碼:111 ... 01100
反碼:100 ... 10011
原碼:100 ... 10100 => -20
"""
總結
個別運算子
- 運算子優先級最高: **
- 運算子優先級最低: =
- () 可以提升優先級
同一種類運算子
- 算術運算子: 乘除 > 加減
- 邏輯運算子: () > not > or
- 位運算子: (<<、>>) > & > ^ > |
整體排序
算數運算子 > 位運算子 > 比較運算子 > 身份運算子 > 成員運算子 > 邏輯運算子 > 賦值運算子
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/186017.html
標籤:Python
上一篇:Python容器型別資料的轉換
