Python中的運(yùn)算符“/”和“//”的區(qū)別?
在Python 2.x中骨杂,“/”為普通除法克滴,當(dāng)兩個(gè)數(shù)值對象進(jìn)行除法運(yùn)算時(shí),最終結(jié)果的精度與操作數(shù)中精度最高的一致熄驼;
在Python 3.x中像寒,“/”為真除法烘豹,與除法的數(shù)學(xué)含義一致。
在Python 2.x和Python 3.x中诺祸,“//”表示整除携悯,對整數(shù)或浮點(diǎn)數(shù)進(jìn)行該運(yùn)算時(shí),結(jié)果為數(shù)學(xué)除法的整數(shù)部分筷笨。
Python 2.x:
>>> 1 / 2
0
>>> 1.0 / 2.0
0.5
Python 3.x:
>>> 1/2
0.5
python 2.x:
>>> -1 // 2
-1
python 3.x:
>>> -1 // 2
-1
注意的是并不是舍棄小數(shù)部分憔鬼,而是執(zhí)行 floor 操作,如果要截取整數(shù)部分胃夏,那么需要使用 math 模塊的 trunc 函數(shù)
python 3.x:
>>> import math
>>> math.trunc(1 / 2)
0
>>> math.trunc(-1 / 2)
0