【问题标题】:What is the purpose of the `//` operator in python? [duplicate]python中`//`运算符的作用是什么? [复制]
【发布时间】:2011-10-10 17:23:09
【问题描述】:

可能重复:
What is the reason for having '//' in Python?

// 运算符的用途是什么?

x=10 y=2 打印 x/y 打印 x//y

两者都输出5作为值。

【问题讨论】:

    标签: python operators


    【解决方案1】:

    整数除法与浮点除法:

    >>> 5.0/3
    3: 1.6666666666666667
    >>> 5.0//3
    4: 1.0
    

    或者正如他们在Python docs 中所说的那样,// 是“x 和 y 的(地板)商”。上面的例子是在 Python 2.7.2 中运行的,它只对浮点数表现这种方式。如果你在 2.7.2 中使用整数,你会得到:

    >>> 5/3
    9: 1
    >>> 5//3
    10: 1
    

    在 Python 3.x 中你会得到不同的结果,所以如果你真的想要落地版,养成使用 // 的习惯,因为有一天它会很重要:

    Python 3.2.2 (default, Sep  4 2011, 09:51:08) [MSC v.1500 32 bit (Intel)] on win32
    Type "copyright", "credits" or "license()" for more information.
    >>> 5/3
    1.6666666666666667
    >>> 5//3
    1
    >>> 5.0/3
    1.6666666666666667
    >>> 5.0//3
    1.0
    

    【讨论】:

    • 请注意:在 Python 2.2 及更高版本下,您可以在文件顶部执行from __future__ import divisiona/b 的行为将类似于 Python 3。这就是为什么 `a//b` ` 甚至在 2.x 下也存在,以便允许这种仅成为 3.0 的默认行为的未来行为
    • 特别 +1 用于养成使用 // 的习惯,因为有一天它会很重要:
    猜你喜欢
    • 2016-02-20
    • 2020-04-02
    • 2011-12-19
    • 2017-02-26
    • 2017-04-24
    • 2012-03-30
    • 2014-05-09
    • 2016-07-24
    • 2014-03-07
    相关资源
    最近更新 更多