1. python2中有/和//的除法区别:
其中/的用法:
>>>1/2
0
即一个整数(无小数部分的数)被另外一个整数除,计算结果的小数部分被截除了,只留下了整数部分
有时候,这个功能比较有用,譬如在做一些需要取位数上的值时可以利用此特性用于循环结束等,但通常,大家用不到这种。
那么,有两种解决方式:
1)用实数(包含小数点的数)而不是整数进行运算
实数在Python中被称为浮点数(Float,或者Float-point number),只要参与运算的数字中有一个是浮点数,则为浮点数运算,运算结果亦为浮点数,也就不会截除小数部分
如
>>>1.0/2.0
0.5
>>>1/2.0
0.5
>>>1.2/2
0.5
>>>1/2.
0.5
2)//除法就是取整,去掉小数:
>>>1/2
0.5
此时,单斜线就不再作为整除了,但是Python提供了另外一个用于实现整除的操作符--双斜线:
>>>1//2
0
就算是浮点数,双斜线也会执行整除
>>>1.0/2.0
0
2. python3中的用法:
与我们数学中的出发类似,但是它会一直保持小数部分
>>> 3/2
1.5
>>> 3/2.0
1.5
>>> 4/2
2.0
>>> 4/2.0
2.0