X/Yspa
在3.0版本以前的Python中命令行
>>>1/2io
0class
即一个整数(无小数部分的数)被另一个整数除,计算结果的小数部分被截除了,只留下了整数部分import
有时候,这个功能比较有用,譬如在作一些须要取位数上的值时能够利用此特性用于循环结束等,但一般,你们用不到这种。循环
那么,有两种解决方式:程序
1)用实数(包含小数点的数)而不是整数进行运算方法
实数在Python中被称为浮点数(Float,或者Float-point number),只要参与运算的数字中有一个是浮点数,则为浮点数运算,运算结果亦为浮点数,也就不会截除小数部分im
如di
>>>1.0/2.0
0.5
>>>1/2.0
0.5
>>>1.2/2
0.5
>>>1/2.
0.5
2)让Python改变除法的默认执行方式
能够在程序中加入如下语句,或者在解释器里执行它:
>>>from_future_import division
还有另一种方法,若是经过命令行(如在Linux系统上)运行Python,能够使用命令开关啊-Qnew
使用以上两种方法。就能够只执行普通的除法运算。
>>>1/2
0.5
此时,单斜线就再也不做为整除了,可是Python提供了另一个用于实现整除的操做符--双斜线:
>>>1//2
0
就算是浮点数,双斜线也会执行整除
>>>1.0/2.0
0
Pytho3.0以后的版本中
在Python3.0中变成真除法(不管任何类型都会保持小数部分,即便整除也会表示为浮点数形式)。
>>> 3/2
1.5
>>> 3/2.0
1.5
>>> 4/2
2.0
>>> 4/2.0
2.0