• 003数值类型


      Python之中的数据类型有五种:

        1. 任意精度整数(int类型)

        2. 有限精度浮点数(float类型)

        3. 高精度浮点数(Decimal类型)

        4. 分数(Fraction类型)

        5. 复数(complex类型)

     

    [A] int类型

        Python之中的整数类型可以为任意长度,只受计算机内存的限制。

      不同进制表示, Python默认进制为十进制,共可表示四种不同进制:

        123 # 十进制数123
    
        0x123 或 0X123 # 十六进制数123
    
        0o123 或 0O123 # 八进制数123
    
        0b111 或 0B111 # 二进制数111

      int对象

        创建int对象:

          x = int(10) # 创建int对象(默认为十进制)
          a = int(‘125’,8) # 将八进制的字符串’125’转换成十进制

        in对象的方法:

          若有int类型数据a,则
    
          X = a.bit_length() 或x = int.bit_length(a) # 返回a的二进制数长度

      进制转换: Python内置有进制转换函数

        bin(n)            # 将数值n转换成二进制数,其中n可为任意进制的数
        oct(n)            # 将数值n转换成八进制数,其中n可为任意进制的数
        hex(n)            # 将数值n转换成十六进制数,其中n可为任意进制的数

        注:这些进制转换函数所返回的是字符串格式的数据,还需借助int等函数将其转换成数值格式。

    [B] float类型

        float类型(有限精度浮点数)是用来表示实数的类型,在Python中其精度与计算机精度有关。Python内部float类型精度有限,一般超过小数点后十五位则开始出现误差。

      创建float对象

        创建float对象的方法为:

          float(x) # 将数值(如123)或者字符串格式的数值(如‘123’)转换成float对象。其中x只能为十进制。

      float对象方法:

        转换成分数,如:

          >>>1.25.as_integer_ratio() 或 float.as_integer_ratio(1.25) # 返回元组(5,4)

        判断浮点型数值是否为整数(即是否无小数部分):

          >>>2.0.as_integer_ratio() 或 float.as_integer_ratio(2.0) # 返回逻辑值 True

    [C] Decimal类型

       Decimal对象

        decimal为Python一个内置模块,,该模块提供了两种基本数据类型:Decimal(高精度浮点数)和Context(精度和舍入参数),以控制运算精度,有效位数和四舍五入操作。

          >>>from decimal import Decimal # 使用Decimal需先导入该模块
    
          >>>a = Decimal(x) # x可以为数值或者字符型数值

        注:字符型数值无计算误差

      Context对象

        Context对象用于设置高精度浮点数运算所涉及的各种参数控制:

        Context (prec=None, rounding=None, Emin=None, Emax=None, capitals=None, clamp=None, flags=None, traps=None)
          prec: # 精度
          rounding: # 四舍五入方式
          Emin/ Emax: # 指数范围
          capitals: # 科学计数法中的e的大小写(1表示大写,0表示小写)
          clamp: # 指定指数范围的精确度
          flags: # 环境变量初始状态信号变量
          traps: # 信号列表,返回发生错误时的异常信息

        通常不直接创建Context对象,而是采用decimal中的getcontext()函数获取当前活动的Context对象,进而修改相关参数进行计算控制,如:

          >>>from decimal import Decimal # 导入相关模块
    
          >>>ctx = getcontext() # 获取当前活动的context对象
    
          >>>ctx.prec = 5 # 设置精度为0.00001

        Python中设置了三个默认的context模块供选择使用:BsaicContext,ExtendedContext和DefaultContext。在Python中通过decimal模块中的setcontext()函数可以设置当前context对象,如:

          >>>from decimal import * # 导入decimal模块
    
          >>>setcontext(BsaicContext) # 将BsaicContext对象设置为当前context对象

    [D]Fraction类型(分数)

      创建Fraction对象,其语法如下:

        >>>from fractions import Fraction # 导入相关模块
    
        >>>Fraction(m,n) # 指定分子m和分母n
    
        >>>Fraction(x)#将数x转换成分式,其中x可为任何数值数据或者文本数据

      Fraction对象的方法:None

    [E] complex类型(复数)

      complex复数的创建

        复数的创建方法有里两种:自然法和函数法

          自然法:当数值之中包含虚部(j或者J)时,Python自动解释为复数常量,如:

            >>>a = 1+2j # 给变量a赋值1+2j

          函数法:用函数complex创建复数

            >>>complex(m, n) # 创建复数对象,虚部可选

      complex对象的方法

        complex对象的方法共三种,分别为:

          >>> (1+2j).real # 返回实部
    
          >>>(1+2j).imag # 返回虚部
    
          >>>(1+2j).conjugate() # 返回共轭复数

    [F] random模块和随机函数

      random模块的函数seed()可以设置伪随机数生成的种子,其基本形式为:

        random.seed(a = None, version = 2)

      其调用方法为:

        >>>import random
    
        >>>random.seed(1)
    
        >>>for i in range(5): print(random.randint(1,5), end =’,’) # 输出4,1,2,2,1,

      保存内部状态(可以保存状态后进行取用),其主要函数为:

        s = random.getstate() # 获取当前伪随机数生成器的状态
    
        random.setstate(s) # 设置之前保存的伪随机数生成器的状态

      随机整数

        随机整数的生成方法主要有三种:

          >>>import random
    
          >>>random.randrange(start, stop, step) # 在[start, stop)之间生成随机整数,若省略start,则在[0, stop);若省略step,则步长默认为1
    
          >>> random.randint(a, b) # 在[a, b]之中返回随机整数
    
          >>>random.getrandbit(k) # 返回位(bit)长为k的随机整数

      随机系列

        random模块还可以从祖列中随机抽取数据,其主要方法有四种:
    
          >>>random.choice(seq) # 从非空的系列seq中随机返回一个元素
    
          >>> random.sample(seq, k) # 从非空的系列seq中随机返回k个元素
    
          >>> random.shuffle(x[,random]) # 将非空系列x进行混排,默认方法为random

      随机实数函数

        查表可得

  • 相关阅读:
    解决Android Studio Gradle DSL method not found: 'android()'
    【转】关于ListView中notifyDataSetChanged()刷新数据不更新原因
    设计模式-单例模式
    IE浏览器让DIV居中
    Java通过DOM解析XML
    git 配置文件位置;git配置文件设置
    git config配置
    dos2unix
    文件的编码问题解决
    git diff old mode 100644 new mode 100755
  • 原文地址:https://www.cnblogs.com/carreyBlog/p/16337042.html
Copyright © 2020-2023  润新知