实际上,在python3中,每当您对int进行除法运算时,都会得到float。有一个
//执行整数除法的运算符:
>>> 999999999999999999999999/3 3.333333333333333e+23 >>> 999999999999999999999999//3 333333333333333333333333 >>> type(999999999999999999999999/3) <class 'float'> >>> type(999999999999999999999999//3) <class 'int'>
这确实给出了正确的任意精度输出:
python -c 'print("%d" % (999999999999999999999999//3))' 333333333333333333333333如何编写与python 2.2+和3.3兼容的代码
这实际上很简单,只需添加:
>>> from __future__ import division
这将启用2.2+代码中的3.X除法。
>>> from sys import version >>> version'2.7.6 (default, Dec 30 2013, 14:37:40) n[GCC 4.8.2]'>>> from __future__ import division >>> type(999999999999999999999999//3)<type 'long'>>>> type(999999999999999999999999/3)<type 'float'>



