先給大家介紹下Python除法之傳統(tǒng)除法、Floor除法及真除法
python3.0
/總是執(zhí)行真除法,不管操作數(shù)的類型,都返回浮點(diǎn)數(shù)結(jié)果(即使能整除,如4/2==2.0);
//執(zhí)行Floor除法,會(huì)截?cái)嘤鄶?shù)直接返回一個(gè)整數(shù),如果有任何一個(gè)操作數(shù)是浮點(diǎn)數(shù)則返回浮點(diǎn)數(shù)(如4//2==2,3//2==1.5, 4.0//2==2.0)
總之:在python3.0中,/為真除法,不會(huì)截?cái)啵医Y(jié)果無(wú)論能否整除都是浮點(diǎn)數(shù);//為地板除法,會(huì)對(duì)除法的結(jié)果進(jìn)行取整返回,至于返回的結(jié)果是否是浮點(diǎn)數(shù)取決于操作數(shù)中有無(wú)浮點(diǎn)數(shù),如兩個(gè)操作數(shù)都是整數(shù)那么就直接返回一個(gè)取整后的整數(shù),如果操作數(shù)中有浮點(diǎn)數(shù)則返回結(jié)果是浮點(diǎn)數(shù)。
python2.0
/表示傳統(tǒng)除法,如果兩個(gè)操作數(shù)都是整數(shù)的話執(zhí)行截?cái)喑ǎ駝t執(zhí)行浮點(diǎn)除法,//執(zhí)行Floor除法,同3.0
注意
在3.0中,/的結(jié)果總是返回浮點(diǎn)數(shù)與操作數(shù)類型無(wú)關(guān),而//的結(jié)果總是依賴于操作數(shù)的類型,如果有一個(gè)是浮點(diǎn)數(shù)結(jié)果就是浮點(diǎn)數(shù)
ps:下面看下Python3除法之真除法、截?cái)喑ê拖氯≌麑?duì)比
概述
在Python3中,數(shù)學(xué)運(yùn)算中的除法被分為兩種,分別是“真除法”,即無(wú)論任何類型相除的結(jié)果都會(huì)保留小數(shù)點(diǎn),和我們實(shí)際的數(shù)學(xué)運(yùn)算結(jié)果一致,而“截?cái)喑ā保瑒t是無(wú)論任何類型相除的結(jié)果都會(huì)省略結(jié)果的小數(shù)部分,剩下最小的能整除的整數(shù)部分。以下是兩種除法的基本形式:
# 真除法 X / Y # 截?cái)喑?X // Y
真除法
X = 8 Y = 2 Z = 3 print(X / Y) print(X / Z)
示例結(jié)果:
4.0
2.6666666666666665
真除法的結(jié)果表明不論操作數(shù)的類型其相除結(jié)果都返回一個(gè)浮點(diǎn)結(jié)果。
截?cái)喑?
X = 8
Y = 2
Z = 3
S = -8
print(X // Y) print(X // Z) print(S // Y) print(S // Z)
示例結(jié)果:
4
2
-4
-3
從示例中我們可以看到,截?cái)喑ú⒉皇钦娴闹苯尤サ粜?shù)點(diǎn)后面的數(shù)字,而是類似模塊 math 中的 floor 方法,即向下取整,且負(fù)值的取整方式也是這樣的。
import math math.floor(2.0) math.floor(2.6666666666666665) math.floor(-2.0) math.floor(-2.6666666666666665)
示例結(jié)果:
2
2
-2
-3
同樣的模塊 math 中的 ceil 方法可以實(shí)現(xiàn)浮點(diǎn)數(shù)的上取整。
import math print(math.ceil(2.0)) print(math.ceil(2.6666666666666665)) print(math.ceil(-2.0)) print(math.ceil(-2.6666666666666665))
2
3
-2
-2
總結(jié)
以上所述是小編給大家介紹的Python除法之傳統(tǒng)除法、Floor除法及真除法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
