Python – Why does Python integer division yield a float instead of another integer

divisionintegerpythonpython-3.x

Python 3.1 (r31:73574, Jun 26 2009, 20:21:35) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> 2/2
1.0

Is this intended? I strongly remember earlier versions returning int/int=int? What should I do, is there a new division operator or must I always cast?

Best Answer

Take a look at PEP-238: Changing the Division Operator

The // operator will be available to request floor division unambiguously.