從python2.2開始,便有兩種除法運算符:"/"、"http://"。兩者最大區(qū)別在:
python2.2前的版本和python2.2以后3.0以前的版本的默認情況下,"/"所做的除法是以一種兩個數(shù)或者多個數(shù)出現(xiàn)一個浮點數(shù)結果就以浮點數(shù)的形式表示,即float除法
"http://"所做的除法則不相同,"http://"不管兩者出現(xiàn)任何數(shù),都以整除結果為準,不對小數(shù)部分進行處理,直接拋棄,也就是整除法
以下是筆者在編譯器測試的數(shù)據,測試的版本是python2.7
關于"/":
>>> 3/2 1 >>> 3/2.0 1.5 >>> 3.0/2 1.5 >>> 10/3.0 3.3333333333333335
由以上的例子我們可得出,只要除數(shù)中有一個數(shù)是浮點數(shù),那么得到的結果也是浮點數(shù)
以下是關于"http://":
>>> 3//2 1 >>> 3//2.0 1.0 >>> 3.0//2 1.0 >>> 3.0//2.0 1.0
由以上的例子,我們可以看出,兩個整型相除,得到的還是整型,但是。如果一個浮點數(shù)除以一個非浮點數(shù)得到的還會是一個浮點數(shù),但是,計算的結果卻是忽略小數(shù)部分,運算的結果類似兩個整型相除,但是得到一個浮點數(shù)。另外"http://"對于兩個浮點數(shù)也是不例外的。
如何讓"/"和"http://"進行分工
在默認情況下,這兩種運算符有很大的重疊地方,比如,當兩個數(shù)都是整數(shù)的時候,兩者的運算結果是沒有區(qū)別的。如果想在python中讓這兩種有一個明確的分工。即"/"可以用于float除法,"http://"用于整除法,我們可以在程序開始的時候做以下聲明:
from __future__ import division
聲明后測試的結果(以下測試的版本是python2.7)
>>> from __future__ import division >>> 3/2 1.5 >>> 3.0/2 1.5 >>> 3/2.0 1.5 >>> 3.0/2.0 1.5 >>> 3//2 1 >>> 3.0//2 1.0 >>> 3.0//2.0 1.0 >>> 3//2.0 1.0 >>> -11/2 -5.5
以上,我們可以知道,做這個聲明以后,"/"進行的將是float除法而不是整除法。
還需要注意的是,在pyhton3中,"/"表示的就是float除,不需要再引入模塊,就算分子分母都是int,返回的也將是浮點數(shù)
以上這篇對python中的float除法和整除法的實例詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
更多文章、技術交流、商務合作、聯(lián)系博主
微信掃碼或搜索:z360901061

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