zoukankan      html  css  js  c++  java
  • Python2和Python3中除法操作/的不同

    X/Y

    在3.0版本之前的Python中

    >>>1/2

    0

    即一个整数(无小数部分的数)被另外一个整数除,计算结果的小数部分被截除了,只留下了整数部分

    有时候,这个功能比较有用,譬如在做一些需要取位数上的值时可以利用此特性用于循环结束等,但通常,大家用不到这种。

    那么,有两种解决方式:

    1)用实数(包含小数点的数)而不是整数进行运算

    实数在Python中被称为浮点数(Float,或者Float-point number),只要参与运算的数字中有一个是浮点数,则为浮点数运算,运算结果亦为浮点数,也就不会截除小数部分

    >>>1.0/2.0

    0.5

    >>>1/2.0

    0.5

    >>>1.2/2

    0.5

    >>>1/2.

    0.5

    2)让Python改变除法的默认执行方式

    可以在程序中加入以下语句,或者在解释器里执行它:

    >>>from_future_import division

    还有另外一种方法,如果通过命令行(如在Linux系统上)运行Python,可以使用命令开关啊-Qnew

    使用以上两种方法。就可以只执行普通的除法运算。

    >>>1/2

    0.5

    此时,单斜线就不再作为整除了,但是Python提供了另外一个用于实现整除的操作符--双斜线:

    >>>1//2

    0

    就算是浮点数,双斜线也会执行整除

    >>>1.0/2.0

    0

    Pytho3.0之后的版本中

    在Python3.0中变成真除法(无论任何类型都会保持小数部分,即使整除也会表示为浮点数形式)。 

    >>> 3/2

    1.5

    >>> 3/2.0

    1.5

    >>> 4/2

    2.0

    >>> 4/2.0

    2.0

  • 相关阅读:
    线程状态
    线程的两种实现方式
    设计模式
    移动端适配总结(补充一个移动端touch案例)
    echart.js组件编写
    vuex,文件夹整理
    rem初始化
    PC初始化
    移动端初始化
    三角形实现原理
  • 原文地址:https://www.cnblogs.com/Dragon5/p/6368372.html
Copyright © 2011-2022 走看看