Python提供了__future__
模块,把下一个新版本的特性导入到当前版本,于是我们就可以在当前版本中使用一些新版本的特性,比如除法:
在Python 2.x中,对于除法有两种情况,如果是整数相除,结果仍是整数,余数会被扔掉,这种除法叫“地板除”:
>>> 10 / 3 3
要做精确除法,必须把其中一个数变成浮点数:
>>> 10.0 / 3 3.3333333333333335
而在python 3.x中,所有的除法都是精确除法,地板除用//表示。
如果你想在Python 2.7的代码中直接使用Python 3.x的除法,可以通过__future__
模块的division
实现:
from __future__ import division print '10 / 3 =', 10 / 3 print '10.0 / 3 =', 10.0 / 3 print '10 // 3 =', 10 // 3
结果如下:
10 / 3 = 3.33333333333 10.0 / 3 = 3.33333333333 10 // 3 = 3