對python中的float除法和整除法的例項詳解

2022-10-04 16:48:13 字數 1283 閱讀 6035

從python2.2開始,便有兩種除法運算子:"/"、"//"。兩者最大區別在:

python2.2前的版本和python2.2以後3.0以前的版本的預設情況下,"/"所做的除法是以一種兩個數或者多個數出現乙個浮點數結果就以浮點數的形式表示,即float除法

"//"所做的除法則不相同,"//"不管兩者出現任何數,都以整除結果為準,不對小數部分進行處理,直接拋棄,也就是整除法

以下是筆者在編譯器測試的資料,測試的版本是python2.7

關於"/":

>>> 3/2

1>>> 3/2.0

1.5>>> 3.0/2

1.5程式設計客棧

>>> 10/3.0

3.3333333333333335

由以上的例子我們可得出,只要除數中有乙個數是浮點數,那麼得到的結果也是浮點數

以下是關於"//":

>>> 3//2

1>>www.cppcns.com;> 3

1.0>>> 3.0//2

1.0>>> 3.0

1.0由gbqpa以上的例子,我們可以看出,兩個整型相除,得到的還是整型,但是。如果乙個浮點數除以乙個非浮點數得到的還會是乙個浮點數,但是,計算的結果卻是忽略小數部分,運算的結果類似兩個整型相除,但是得到乙個浮點數。另外"//"對於兩個浮點數也是不例外的。

如何讓"/"和"//"進行分工

在預設情況下,這兩種運算子gbqpa有很大的重疊地方,比如,當兩個數都是整數的時候,兩者的運算結果是沒有區別的。如果想在python中讓這兩種有乙個明確的分工。即"/"可以用於float除法,"//"用於整除法,我們可以在程式開始的時候做以下宣告:

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

1.0>>> 3

1.0>>> -11/2

-5.5

以上,我們可以知道,做這個宣告以後,"/"進行的將是float除法而不是整除法。

還需要注意的是,在pyhton3中,"/"表示的就是float除,不需要再引入模組,就算分子分母都是int,返回的也將是浮點數

本文標題: 對python中的float除法和整除法的例項詳解

本文位址:

MATLAB 中的左除( )和 右除( )

matlab中有個很有意思的運算子,那就是左除和右除 這裡有個簡單的記憶方法 先想,有根棍子,然後左除是 右除是 你就想左除了棍子向左邊倒了 右除就是向右邊倒了 這樣應該比較好記,下面說說使用吧。先是左除。用乙個簡單的線性方程組說明 ax b 則x a b,如 a 0 7 5 0 4 7 4 3 7...

執行python除法的符號 python 除法

在python 2中 2 5 2.0 5 0.4 2 5.0 0.4 2.0 5.0 0.4 整數除以整數,結果為整數 商 5 2 7 2 浮點數與整數相除 假設x除以y,x可能是整數,也可能是浮點數 y可能是整數,也可能是浮點數。不管是除數還是被除數,只要是乙個數是浮點數,結果就是浮點數。10.0...

python中物件包含 Python中的物件

python中的物件 在python中,一切都是物件。為了證明,你可以開啟乙個repl並探索使用isinstance true isinstance list object true isinstance true,object true def foo pass isinstance foo,ob...