python 除法取模_跟我一起学python | 探究05
算術運算、比較運算、賦值運算、位和位運算、運算優先級
python里的算術運算
我們最熟悉的計算就是算術運算,加減乘除等。在python的算術運算中,除了四則運算外,還有冪運算、取模、取整運算。
什么是取模、取整運算呢?取模和取整運算和除法相關。取模即取除法的余數,取整即取除法的商。
11%7取模運算,結果為:4
11//7取整運算,結果為:1
如果是負數取模取整,會是怎樣的結果呢?
i1=-11%7i2=-11%-7i3=-11//7i4=-11//-7print(i1,i2,i3,i4)結果是:3 -4 -2 1
下面有一個混合運算,猜心算一下運行結果會是怎樣的呢?
4*2**3//6+2%7-2
很顯然,這里就牽涉到不同運算之間的優先級。
算術運算里,優先級從高到低是:冪運算、乘除取模取整、加減
4*2**3//6+2%7-2運行結果:5 和你心算的結果是不是一樣呢?
python里的比較運算
所謂的比較運算就是等于(==)、不等于(!=)、大于(>)、大于等于(>=)、小于(
9!=10運行結果:True
9!=9運行結果:False
python里的賦值運算
在程序里,賦值也是一種運算。賦值的符號“=”,以后我們還會碰到諸如:“+=”、“-=”……等賦值運算。
來看一個范例:
i=5+4==6-1?print(i)運行結果為:False
這個混合運算里有算術運算、比較運算和賦值運算,這些運算的優先級,從高到低依次是:算術運算、比較運算、賦值運算。
i=5+4==6-1
i=9==5 (9不等于5,所以此比較運算結果為False)
i=False
python里的位運算
什么是“位”?
“位”是數據存儲的最小單位。在計算機中二進制數系統中,每個0或1就是一個“位”,英文寫作bit,簡記為b,稱為比特?!拔弧本腿缤聢D中的格子,每一個格子就是一個“位”,而每一個“位”存儲的數據只有兩種可能,要么是“0”,要么是“1”。我們將8個“位”稱為一個“字節”,英文是Byte?!拔弧焙汀白止潯钡霓D換公式是:8b=1B。字節大小的轉換關系是這樣的:1024B=1KB,1024KB=1MB,1024MB=1GB,1024GB=1TB……
對于“位”有一些了解了。下面我們再來復習一下二進制。
和滿10進一位的十進制不同,二進制是滿2就要進一位的一種進制,二進制只有兩個數值:0和1。如果你初次接觸二進制,建議你不妨先做一個將十進制的0-10轉換成二進制的練習。最容易犯錯的地方是十進制的4和8。下圖是十進制0-10對應的二進制,看看你轉換對了沒有。
有了“位”的理解和二進制的知識,我們就來探究一下基于二進制的位運算。
—— “&”按位與的運算 ——按位與的運算規則是:
0 & 0 = 0
0 & 1 = 0
1 & 0 = 0
1 & 1 = 1
或許這個規則不太好理解,我借用電路來說明一下。
開關開就是“1”,關就是“0”;燈亮是“1”,燈滅是“0”。
嘗試用python代碼來實現一下:8&6
python的位運算也是先將十進制數值化為二進制后再進行的運算。
print(8&6)運算結果是:0
我們再來人工列式演算一下,一來校驗結果,二來清晰地理解按位與的運算過程:
計算一下“10&6”呢?我們先人工列式演算一下:
python代碼來運行:
print(10&6)運行的結果果真是:2
—— “ | ”按位或的運算 ——按位或的運算規則是:
0 | 0 = 0
0 | 1 = 1
1 | 0 = 1?
1 | 1 = 1
為了方便大家理解,我也同樣借用電路來說明“按位或”的運算規則。
開關開就是“1”,關就是“0”;燈亮是“1”,燈滅是“0”。
我想算算“8|6”,用python代碼來運算。
print(8|6)運行結果是:14我再來用python算一算“10|6”print(10|6)運行結果還是:14 ? 嗯?怎么是一樣的答案?
好吧,我們來人工列式演算一下,一來校驗結果,二來清晰地理解按位或的運算過程:
?—— “ ^ ”按位異或的運算 ——什么是“異或”?“異或”和“或”有什么不同呢?
我們用維恩圖來做個說明:
“異或”和“或”在運算上有怎樣的不同呢?我列表做了一個對比。
兩個計算的不同之處,我用黃色框凸顯出來。
我們現在用python編碼來算算“8^6”
print(8^6)運行結果是:14 和“按位或”的計算結果一樣,那么,“10^6”的計算結果也還是14嗎?
print(10^6)運行結果是:12為什么“10^6”和“8^6”“按位或”的計算結果是一樣的,但是“按位異或”的計算結果卻不一樣呢?
我們用人工列式演算一下,你是否看出其中的差別呢?
位運算還有“按位取反運算”、“左移動運算”和“右移動運算”,以后再慢慢學習。
此文原發表于知乎網站。
總結
以上是生活随笔為你收集整理的python 除法取模_跟我一起学python | 探究05的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 记一次棋牌游戏 cocos2d-x LU
- 下一篇: python socket出现ip已经使