python基础之数值类型

发布时间:2019-03-05 12:11:25编辑:auto阅读(2290)

    python基础之数值类型

    python3中共有11种基本数据类型,而这11种基本数据类型又通常分成3类,即

    • 数值类型:int (整形)float(浮点型) bool(布尔) complex(复数)
    • 序列类型:string(字符串) list(列表) couple(元组) bytes(二进制字符串)  bytearray(二进制数组)
    • 散列类型:set(集合) dict(字典)

    其中 bytes与bytearray是python3中引入的新类型。

    从数值类型说起,首先列出python中常见的算术运算符:

    运算符 描述 实例
    + 加 :两个对象相加 2 + 4输出结果 6
    - 减 :得到负数或是一个数减去另一个数 1 -3 输出结果-2
    * 乘 - 两个数相乘                                                  2 * 4 输出结果8                                                      
    / 除 - x除以y 6 / 3 输出结果 2.0
    % 取余(取模) - 返回除法的余数 6 % 3 输出结果 0 
    // 取整除 - 返回商的整数部分(向下取整) 5//2输出结果2(注:5.0//2.0输出结果2.0)
    **  幂 - 返回x的y次幂 2**4 为2的4次方, 输出结果16

     

     

     

     

     

     

     

     

     

    值得注意的是python中的数值运算会存在如下图所示小数运算不精确的问题

     

     

     

    此时可以通过导入decimal模块来解决这个问题。首先来介绍一下decimal模块:

    注:模块(module)是 Python 中非常重要的东西,你可以把它理解为 Python 的扩展工具。换言之,Python 默认情况下提供了一些可用的东西,但是这些默认情况下提供的还远远不能满足编程实践的需要,于是就有人专门制作了另外一些工具。这些工具被称之为“模块”

    Python提供了decimal模块用于十进制数学计算,它具有以下特点:

    • 提供十进制数据类型,并且存储为十进制数序列;
    • 有界精度:用于存储数字的位数是固定的,可以通过decimal.getcontext().prec=x 来设定,不同的数字可以有不同的精度
    • 浮点:十进制小数点的位置不固定(但位数是固定的)

    使用方法如下图所示,首先需要导入decimal模块(python中导入模块的语法为 import + 模块名)。通过调用decimal.Decimal()将数值设置为decimal.Decimal类型

    之后再对其进行之前的减法运算,可以看到此时输出了精确的结果,前文中的小数计算不精确的问题得以解决。

     

    在数学之中,除了加减乘除四则运算之外还有其它更多的运算,比如开方、对数运算等等,要实现这些运算,需要用到 Python 中的一个模块:Math

    math模块中的常用方法有:

                      方法                                                                       描述                                                                              实例                                            
    math.pi 返回数学常数Π= 3.141592653589793 >>> math.pi    3.141592653589793
    math.e 返回数学常数e= 2.718281828459045 >>> math.e     2.718281828459045
    math.ceil(x) 返回x的上限,返回最小的整数A  (A>=x)。如math.ceil(3.14)返回的整数为4 >>> math.ceil(3.14)      4
    math.floor(x) 返回x的下限,返回一个值最大整数A(A<=x)。如math.floor(3.14)返回的整数为3 >>> math.floor(3.14)     3
    math.fabs(x) 返回x的绝对值 >>> math.fabs(-3)      3     
    math . pow(x,y) 返回x的y次方,即返回 xy >>> math.pow(3,2)      9
    math.sqrt(x) 返回√x >>> math.sqrt(9)      3
    math.degrees(x) 将角x从弧度转换成角度。 >>> math.degrees(math.pi)      180.0
    math.radians(x) 把角x从度转换成弧度 >>> math.radians(180)        3.141592653589793

     

     

     

     

     

     

     

    bool(布尔类型)

    python中布尔值使用常量True和False来表示。布尔型变量可用于逻辑表达式,也就是“或”“与”“非”之类的逻辑运算和大于小于之类的关系运算,逻辑表达式运算结果为真或为假。例:

    注:

    1.在数值上下文环境中,True被当作1,False被当作0,例如 True+3=>4

    2.其他类型值转换bool值时除了''、""、''''''、""""""、0、()、[]、{}、None、0.0、0L、0.0+0.0j、False为False,其他都为True 例如 bool(-2)=>True

    complex(虚数类型)

    complex型数据由实部和虚部两个部分构成:real+imag(虚部后缀为j或J)其中实数部分和虚数部分都为浮点数。
    例如定义一个虚数,分别输出它的实部和虚部和共轭复数:

    数值类型的转换

    python中的不同数值类型大多可以相互转换,要注意的是当将float数值转换成int型时python会舍去小数点后部分,且complex型数值无法转换成int型和float型数值

    实例:

     

关键字

上一篇: pythonnet-网络编程(1)

下一篇: Python判断相等