zoukankan      html  css  js  c++  java
  • 【Python 2 到 3 系列】 关于除法的余数

    v2.2 以前,除(“/”)运算符的返回有两种可能情况,分别是整型和浮点型。操作数的不同,是影响计算结果数据类型的关键。
    以 a / b 为例,a、b均为整型,则结果返回整型;a、b任意一个是浮点型的话,则结果就是浮点型。
    ===========================
    # python v2.7
    >>> 3 / 2, 3.0 / 2, 3.0 / 2.0
    (1, 1.5, 1.5)
    ===========================


    在某些场合,我们可能会期待 a / b 返回浮点型,可是由于某些不确定的因素,参与运算的 a 和 b都是整型,这可能会带来错误,显然有精度上的损失。


    v2.2 以后,引入了“地板除”(“//”)运算符,从数值上讲,它返回小于除法运算结果的最大整数;从类型上讲,与"/"运算符返回类型逻辑一致。
    而“/”运算符,没有变化。
    ===========================
    # python v2.7
    >>> 3 / 2, 3.0 / 2, 3 // 2, 3.0 // 2
    (1, 1.5, 1, 1.0)
    ===========================


    v3.x 以后,“/”运算符被命名为“真除”,不再依据操作数类型选择返回值类型,保证计算结果数值上的精度是第一位的。所以,无须再把操作数转变成浮点型,以保证运算结果不被截断小数部分。
    “//”运算符,不变。
    ===========================
    # python v3.2
    >>> 3 / 2, 3.0 / 2, 3 // 2, 3.0 // 2
    (1.5, 1.5, 1, 1.0)
    ===========================
  • 相关阅读:
    数字麦克风PDM信号采集与STM32 I2S接口应用(四)--单片机源码
    Golang SQL连接池梳理
    Ghost-无损DDL
    蛮好用的网站
    齿轮
    water
    折纸 (模拟)
    不等式(数学)
    周期串查询
    大集训模拟赛十一
  • 原文地址:https://www.cnblogs.com/lanqiu5ge/p/9472244.html
Copyright © 2011-2022 走看看