1. 程式人生 > >python 除法 /與//在2.7*和3.*版本的區別

python 除法 /與//在2.7*和3.*版本的區別

In Python 3.0, 5 / 2 will return 2.5 and 5 // 2 will return 2. The former is floating point division, and the latter is floor division, sometimes also called integer division.

In Python 2.2 or later in the 2.x line, there is no difference for integers unless you perform a from __future__ import division

, which causes Python 2.x to adopt the behavior of 3.0

Regardless of the future import, 5.0 // 2 will return 2.0 since that's the floor division result of the operation.

It helps to clarify for the Python 2.x line, / is neither floor division nor true division. The current accepted answer is not clear on this. /

 is floor division when both args are int, but is true division when either or both of the args are float.

The above tells a lot more truth, and is a lot more clearer than the 2nd paragraph in the accepted answer.

from: http://stackoverflow.com/questions/183853/in-python-2-what-is-the-difference-between-and-when-used-for-division