Two forward slashes in Python

后端 未结 2 1367
情歌与酒
情歌与酒 2020-12-03 00:22

I came across this sample of code from a radix sort:

def getDigit(num, base, digit_num):
    # pulls the selected digi         


        
相关标签:
2条回答
  • 2020-12-03 00:57

    // is the floor division operator. It produces the floor of the quotient of its operands, without floating-point rounding for integer operands. This is also sometimes referred to as integer division, even though you can use it with floats, because dividing integers with / used to do this by default.

    In Python 3, the ordinary / division operator returns floating point values even if both operands are integers, so a different operator is needed for floor division. This is different from Python 2 where / performed floor division if both operands were integers and floating point division if at least one of the operands was a floating point value.

    The // operator was first introduced for forward-compatibility in Python 2.2 when it was decided that Python 3 should have this new ability. Together with the ability to enable the Python 3 behavior via from __future__ import division (also introduced in Python 2.2), this enables you to write Python 3-compatible code in Python 2.

    0 讨论(0)
  • 2020-12-03 01:09

    You can just try it:

    In []: 5/2
    Out[]: 2
    
    In []: 5.0/2
    Out[]: 2.5
    
    In []: 5.0//2
    Out[]: 2.0
    

    This should be self-explanatory.

    (This is in Python 2.7.)

    0 讨论(0)
提交回复
热议问题