更新時間:2018年01月30日11時30分 來源:傳智播客 瀏覽次數(shù):
通常C/C++中,"/ " 算術(shù)運算符的計算結(jié)果是根據(jù)參與運算的兩邊的數(shù)據(jù)決定的,比如:
6 / 3 = 2 ; 6,3都是整數(shù),那么結(jié)果也就是整數(shù)2;
6.0 / 3.0 = 2.0 ; 6.0,3.0是浮點數(shù),那么結(jié)果也是浮點數(shù)2.0,跟精確的說,只要" / " 兩邊有一個數(shù)是浮點數(shù),那么結(jié)果就是浮點數(shù)。
在Python2.2版本以前也是這么規(guī)定的,但是,Python的設(shè)計者認為這么做不符合Python簡單明了的特性,于是乎就在Python2.2以及以后的版本中增加了一個算術(shù)運算符" // "來表示整數(shù)除法,返回不大于結(jié)果的一個最大的整數(shù),而" / " 則單純的表示浮點數(shù)除法,但是,為了折中,所有2.X版本中,也是為了向后兼容,如果要使用" // ",就必須加上一條語句:
from __future__ import division
一看到這句," / "就表示 浮點數(shù)除法,返回浮點結(jié)果;" // "表示整數(shù)除法。
但是,預(yù)計在Python3.0發(fā)布時,就沒有這種折中情況了,," / "就一定表示 浮點數(shù)除法,返回浮點結(jié)果;" // "表示整數(shù)除法。