日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python 除法取模_跟我一起学python | 探究05

發(fā)布時(shí)間:2024/7/23 python 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 除法取模_跟我一起学python | 探究05 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

算術(shù)運(yùn)算、比較運(yùn)算、賦值運(yùn)算、位和位運(yùn)算、運(yùn)算優(yōu)先級(jí)

python里的算術(shù)運(yùn)算

我們最熟悉的計(jì)算就是算術(shù)運(yùn)算,加減乘除等。在python的算術(shù)運(yùn)算中,除了四則運(yùn)算外,還有冪運(yùn)算、取模、取整運(yùn)算。

什么是取模、取整運(yùn)算呢?取模和取整運(yùn)算和除法相關(guān)。取模即取除法的余數(shù),取整即取除法的商。

11%7

取模運(yùn)算,結(jié)果為:4

11//7

取整運(yùn)算,結(jié)果為:1

如果是負(fù)數(shù)取模取整,會(huì)是怎樣的結(jié)果呢?

i1=-11%7i2=-11%-7i3=-11//7i4=-11//-7print(i1,i2,i3,i4)

結(jié)果是:3 -4 -2 1

下面有一個(gè)混合運(yùn)算,猜心算一下運(yùn)行結(jié)果會(huì)是怎樣的呢?

4*2**3//6+2%7-2

很顯然,這里就牽涉到不同運(yùn)算之間的優(yōu)先級(jí)。

算術(shù)運(yùn)算里,優(yōu)先級(jí)從高到低是:冪運(yùn)算、乘除取模取整、加減

4*2**3//6+2%7-2

運(yùn)行結(jié)果:5 和你心算的結(jié)果是不是一樣呢?

python里的比較運(yùn)算

所謂的比較運(yùn)算就是等于(==)、不等于(!=)、大于(>)、大于等于(>=)、小于(

9!=10

運(yùn)行結(jié)果:True

9!=9

運(yùn)行結(jié)果:False

python里的賦值運(yùn)算

在程序里,賦值也是一種運(yùn)算。賦值的符號(hào)“=”,以后我們還會(huì)碰到諸如:“+=”、“-=”……等賦值運(yùn)算。

來(lái)看一個(gè)范例:

i=5+4==6-1?print(i)

運(yùn)行結(jié)果為:False

這個(gè)混合運(yùn)算里有算術(shù)運(yùn)算、比較運(yùn)算和賦值運(yùn)算,這些運(yùn)算的優(yōu)先級(jí),從高到低依次是:算術(shù)運(yùn)算、比較運(yùn)算、賦值運(yùn)算。

i=5+4==6-1

i=9==5 (9不等于5,所以此比較運(yùn)算結(jié)果為False)

i=False


python里的位運(yùn)算

什么是“位”?

“位”是數(shù)據(jù)存儲(chǔ)的最小單位。在計(jì)算機(jī)中二進(jìn)制數(shù)系統(tǒng)中,每個(gè)0或1就是一個(gè)“位”,英文寫作bit,簡(jiǎn)記為b,稱為比特。“位”就如同下圖中的格子,每一個(gè)格子就是一個(gè)“位”,而每一個(gè)“位”存儲(chǔ)的數(shù)據(jù)只有兩種可能,要么是“0”,要么是“1”。我們將8個(gè)“位”稱為一個(gè)“字節(jié)”,英文是Byte。“位”和“字節(jié)”的轉(zhuǎn)換公式是:8b=1B。字節(jié)大小的轉(zhuǎn)換關(guān)系是這樣的:1024B=1KB,1024KB=1MB,1024MB=1GB,1024GB=1TB……

對(duì)于“位”有一些了解了。下面我們?cè)賮?lái)復(fù)習(xí)一下二進(jìn)制。

和滿10進(jìn)一位的十進(jìn)制不同,二進(jìn)制是滿2就要進(jìn)一位的一種進(jìn)制,二進(jìn)制只有兩個(gè)數(shù)值:0和1。如果你初次接觸二進(jìn)制,建議你不妨先做一個(gè)將十進(jìn)制的0-10轉(zhuǎn)換成二進(jìn)制的練習(xí)。最容易犯錯(cuò)的地方是十進(jìn)制的4和8。下圖是十進(jìn)制0-10對(duì)應(yīng)的二進(jìn)制,看看你轉(zhuǎn)換對(duì)了沒有。

有了“位”的理解和二進(jìn)制的知識(shí),我們就來(lái)探究一下基于二進(jìn)制的位運(yùn)算。

—— “&”按位的運(yùn)算 ——

按位與的運(yùn)算規(guī)則是:

0 & 0 = 0

0 & 1 = 0

1 & 0 = 0

1 & 1 = 1

或許這個(gè)規(guī)則不太好理解,我借用電路來(lái)說(shuō)明一下。

開關(guān)開就是“1”,關(guān)就是“0”;燈亮是“1”,燈滅是“0”。

嘗試用python代碼來(lái)實(shí)現(xiàn)一下:8&6

python的位運(yùn)算也是先將十進(jìn)制數(shù)值化為二進(jìn)制后再進(jìn)行的運(yùn)算。

print(8&6)

運(yùn)算結(jié)果是:0

我們?cè)賮?lái)人工列式演算一下,一來(lái)校驗(yàn)結(jié)果,二來(lái)清晰地理解按位與的運(yùn)算過程:

計(jì)算一下“10&6”呢?我們先人工列式演算一下:

python代碼來(lái)運(yùn)行:

print(10&6)

運(yùn)行的結(jié)果果真是:2

—— “ | ”按位的運(yùn)算 ——

按位或的運(yùn)算規(guī)則是:

0 | 0 = 0

0 | 1 = 1

1 | 0 = 1?

1 | 1 = 1

為了方便大家理解,我也同樣借用電路來(lái)說(shuō)明“按位或”的運(yùn)算規(guī)則。

開關(guān)開就是“1”,關(guān)就是“0”;燈亮是“1”,燈滅是“0”。

我想算算“8|6”,用python代碼來(lái)運(yùn)算。

print(8|6)運(yùn)行結(jié)果是:14我再來(lái)用python算一算“10|6”print(10|6)

運(yùn)行結(jié)果還是:14 ? 嗯?怎么是一樣的答案?

好吧,我們來(lái)人工列式演算一下,一來(lái)校驗(yàn)結(jié)果,二來(lái)清晰地理解按位或的運(yùn)算過程:

?—— “ ^ ”按位異或的運(yùn)算 ——

什么是“異或”?“異或”和“或”有什么不同呢?

我們用維恩圖來(lái)做個(gè)說(shuō)明:

“異或”和“或”在運(yùn)算上有怎樣的不同呢?我列表做了一個(gè)對(duì)比。

兩個(gè)計(jì)算的不同之處,我用黃色框凸顯出來(lái)。

我們現(xiàn)在用python編碼來(lái)算算“8^6”

print(8^6)

運(yùn)行結(jié)果是:14 和“按位或”的計(jì)算結(jié)果一樣,那么,“10^6”的計(jì)算結(jié)果也還是14嗎?

print(10^6)運(yùn)行結(jié)果是:12

為什么“10^6”和“8^6”“按位或”的計(jì)算結(jié)果是一樣的,但是“按位異或”的計(jì)算結(jié)果卻不一樣呢?

我們用人工列式演算一下,你是否看出其中的差別呢?

位運(yùn)算還有“按位取反運(yùn)算”、“左移動(dòng)運(yùn)算”和“右移動(dòng)運(yùn)算”,以后再慢慢學(xué)習(xí)。

此文原發(fā)表于知乎網(wǎng)站。

總結(jié)

以上是生活随笔為你收集整理的python 除法取模_跟我一起学python | 探究05的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。