当前位置 : 主页 > 编程语言 > python >

python中数值相关的操作

来源:互联网 收集:自由互联 发布时间:2022-06-24
在python中,数值有以下3种类型 int, 整数 float,浮点数 complex,复数 其中整数和浮点数都属于实数的范围,而复数使用到的情况较少,这里不做讨论。 字符型和布尔型的值可以转换为数


在python中,数值有以下3种类型

  • int, 整数
  • float,浮点数
  • complex,复数
  • 其中整数和浮点数都属于实数的范围,而复数使用到的情况较少,这里不做讨论。

    字符型和布尔型的值可以转换为数值,方法如下

    int(True) # 结果为1
    int(False) # 结果为0
    int('3') # 结果为3
    float('inf') # 结果为inf
    float('NaN') # 结果为nan
    float('nan') # 结果为nan
    ord('A') # 结果为65

    最后一个函数比较特殊,​​ord​​​函数根据ASCII码将单个字符转换为数值,与之相对,​​chr​​函数可以将数值转换为ASCII编码的字符。

    通过上述代码可以发现,python中有两个特殊数值,一个是无穷​​inf​​​,一个是​​nan​​。对于实数的运算,提供了以下4个内置函数

    1. abs

    abs函数用于求绝对值,用法如下

    abs(3)

    2. round

    round函数对数值进行四舍五入,用法如下

    round(3.1415926) # 3,默认只保留整数
    round(3.1415926, 2) # 3.14, 第二个参数控制保留小数点后几位

    3. divmod

    divmod函数进行除法运算,保留商和余数,用法如下

    divmod(7, 3)

    返回值为商和余数构成的元组,上述语句的返回值为(2, 1)

    4. pow

    pow函数默认进行幂次运算,用法如下

    pow(2, 3) # 2 ** 3, 结果为8
    pow(2, 3, 3) # 2 ** 3 % 3, 结果为2

    提供两个参数时,进行幂次运算,提供三个参数时,将前两个参数幂次运算的结果与第三个参数相除,取余数。

    除了内置函数外,更多的实数运算可以通过内置模块​​math​​来操作,该模块定义了很多常见的数学运算。

    1. 常数

    在该模块中,提供了几个数学常量,比如π,自然常数等,写法如下

    math.pi # π
    math.e # 自然常数
    math.tau # 2π
    math.inf # 无穷大
    math.nan # 非数字

    2. 常用函数

    math.ceil(4.1) # 5, 向上取整
    math.floor(4.1) # 4, 向下取整
    math.fabs(-3) # 3, 绝对值
    math.fsum((-1, 1)) # 0, 求和,返回值为浮点数
    math.factorial(3) # 6, 阶乘
    math.comb(3,2) # 3, 排列
    math.perm(3,2) # 6, 组合
    math.prod((2, 3, 2)) #12, 累乘
    math.isfinite(1) # True, 如果一个数不是无穷或者NaN,返回True
    math.isinf(math.inf) # True. 如果一个数数正或者负无穷大,返回True
    math.isnan(math.nan) # True, 如果是NaN, 返回True
    math.trunc(3.1) # 3, 截取数值的整数部分

    3. 幂函数与对数函数

    返回值为浮点数

    math.log(math.e) # 自然对数
    math.log(100, 10) # 第二个参数表示底数,log以10为底的对数
    math.log2(4) # log2
    math.log10(100) # log10
    math.sqrt(4) # 平凡根
    math.pow(2, 3) # 幂运算
    math.exp(2) # e ** 2

    以上只是math模块中的部分函数,完整的函数列表请查看官方文档

    ​​https://docs.python.org/zh-cn/3/library/math.html​​

    在实际工作中,对于数值我们还需要进行随机数操作,此时就需要用到内置模块​​random​​。需要明确一点,这里的随机数本质是伪随机数。通过设置随机数发生器,可以使得每次随机抽样的结果都相同, 用法如下

    import random # 导入模块
    random.seed(1) # 设定随机数发生器
    random.randrange(10) #随机抽样,结果为2
    # 用相同的随机数发生器,再次抽样,结果完全相同
    random.seed(1)
    random.randrange(10)

    常用的随机数操作如下

    # 随机抽取一个0到10之间的整数
    >>> random.randrange(10)
    2
    # 先模拟产生一个0到10,步长为5的序列,再随机抽取一个整数
    >>> random.randrange(0, 10, 5)
    5
    # 随机抽取一个0到10之间的整数
    >>> random.randint(0, 10)
    7
    >>> a = [1, 2, 3, 4, 5]
    # 从序列中随机抽取一个元素
    >>> random.choice(a)
    4
    # 从序列中随机抽取k个元素,无重复的随机抽样,返回子集
    >>> random.sample(a, 2)
    [1, 4]
    # 随机打乱顺序
    >>> random.shuffle(a)
    >>> a
    [2, 1, 5, 3, 4]
    # 随机抽取一个0到1之间的浮点数
    >>> random.random()
    0.10222715811004823
    # 随机抽取一个高斯分布的值
    >>> random.gauss(0, 1)
    -0.08735515600559883

    以上只是random模块中的部分函数,完整的函数列表请查看官方文档

    ​​https://docs.python.org/zh-cn/3/library/random.html​​

    对于一系列的数值,我们可以计算均值,中位数等统计指标,此时需要用到内置的​​statistics​​模块,常见操作如下

    import statistics
    # 计算平均数
    >>> statistics.mean(a)
    3
    # 计算平均值,返回值为浮点数
    >>> statistics.fmean(a)
    3.0
    # 计算四分位数
    >>> statistics.quantiles(a)
    [1.5, 3.0, 4.5]
    # 计算中位数
    >>> statistics.median(a)
    3
    # 计算标准差
    >>> statistics.stdev(a)
    1.5811388300841898
    # 计算方差
    >>> statistics.variance(a)
    2.5

    以上只是statistics模块中的部分函数,完整的函数列表请查看官方文档

    ​​https://docs.python.org/zh-cn/3/library/statistics.html​​

    内置函数和内置模块提供了常见的数值操作,这些都是基础,需要熟练掌握。

    ·end·

    —如果喜欢,快分享给你的朋友们吧—



    关注我们,解锁更多精彩内容!


    python中数值相关的操作_随机数


    上一篇:python列表常见操作技巧汇总
    下一篇:没有了
    网友评论