zoukankan      html  css  js  c++  java
  • 第37天:Python math 模块

    by 程序员野客

    我们知道 Python 有很多运算符可以进行数学运算,如果是简单的问题还好说,但是要处理一些相对复杂的问题也要我们自己一行一行手动的来编写吗?答案当然不是,Python 提供了 math 模块对一些数学运算提供了支持。

    1 简介

    math 模块提供了对 C 标准定义的数学函数的访问,但该模块并不支持复数运算,如果想使用复数预算需使用 cmath 模块,将支持计算复数的函数区分开的目的,来自于大多数开发者并不愿意像数学家一样需要学习复数的概念,说白了就是我们开发工作几乎用不到复数,得到一个异常而不是一个复数结果也能让我们更早地监测到传递的参数中包含复数。
    我们可以先使用 dir 函数查看 math 中包含的内容。示例如下:

    import math
    
    print(dir(math))
    

    2 常用函数

    ceil(x)

    返回 x 的上限,即大于或者等于 x 的最小整数,如果 x 不是一个浮点数,返回一个 Integral 值。示例如下:

    import math
    
    print(math.ceil(-1))
    print(math.ceil(1.024))
    

    copysign(x, y)

    返回一个基于 x 的绝对值和 y 的符号的浮点数。示例如下:

    import math
    
    #-1 的符号(-)赋给 1
    print(math.copysign(1,-1))
    #输出结果
    #-1.0
    

    fabs(x)

    返回 x 的绝对值。示例如下:

    import math
    
    print(math.fabs(-1))
    

    factorial(x)

    以一个整数返回 x 的阶乘,如果 x 不是整数或为负数时则将引发 ValueError。示例如下:

    import math
    
    print(math.factorial(6))
    print(math.factorial(-6))
    

    floor(x)

    返回 x 的向下取整,小于或等于 x 的最大整数,如果 x 不是浮点数,则返回 Integral 值。示例如下:

    import math
    
    print(math.floor(-1.024))
    print(math.floor(1024))
    

    fmod(x, y)

    得到 x/y 的余数,其值是一个浮点数。示例如下:

    import math
    
    print(math.fmod(1,2))
    

    frexp(x)

    返回 x 的尾数和指数对 (m, e),m 是一个浮点数,e 是一个整数,正好是 x == m * 2**e,如果 x 为零,则返回 (0.0, 0) ,否则返回 0.5 <= abs(m) < 1 。示例如下:

    import math
    
    print(math.frexp(1024))
    

    fsum(iterable)

    返回迭代中的精确浮点值。示例如下:

    import math
    
    print(math.fsum([1,2,3,4,5,6]))
    

    gcd(a, b)

    返回整数 a 和 b 的最大公约数。示例如下:

    import math
    
    print(math.gcd(3, 9))
    

    exp(x)

    返回 e 的 x 幂,其中 e = 2.718281... 是自然对数的基数。示例如下:

    import math
    
    print(math.exp(6))
    

    expm1(x)

    返回 e 的 x 次幂减 1。示例如下:

    import math
    
    print(math.expm1(6))
    

    log(x, base=None)

    返回 x 的自然对数,默认以 e 为基数,base 参数给定时,将 x 的对数返回给定的 base,计算式为:log(x)/log(base)。示例如下:

    import math
    
    print(math.log(10,24))
    

    log1p(x)

    返回 x+1 的自然对数(基数为 e)的值。示例如下:

    import math
    
    print(math.log1p(1024))
    

    log2(x)

    返回 x 以 2 为底的对数,通常比 log(x, 2) 更准确。示例如下:

    import math
    
    print(math.log2(1024))
    

    log10(x) 与之类似,返回 x 底为 10 的对数。

    pow(x, y)

    将返回 x 的 y 次幂。示例如下:

    import math
    
    print(math.pow(6,2))
    

    sqrt(x)

    返回 x 的平方根。示例如下:

    import math
    
    print(math.sqrt(1024))
    

    acos(x)

    以弧度为单位返回 x 的反余弦值,x 为 -1 到 1 之间的数值,如果 x 是大于 1,会产生一个错误。示例如下:

    import math
    
    print(math.acos(0.5))
    print(math.acos(3))
    

    asin(x)

    以弧度为单位返回 x 的反正弦值。示例如下:

    import math
    
    print(math.asin(0.5))
    

    atan(x)

    以弧度为单位返回 x 的反正切值。示例如下:

    import math
    
    print(math.atan(0.5))
    

    cos(x)

    返回 x 弧度的余弦值。示例如下:

    import math
    
    print(math.cos(0.5))
    

    sin(x)

    返回 x 弧度的正弦值。示例如下:

    import math
    
    print(math.sin(0.5))
    

    tan(x)

    返回 x 弧度的正切值。示例如下:

    import math
    
    print(math.sin(0.5))
    

    总结

    本节给大家介绍了 math 模块的一些概念和常用函数的使用,对 Python 工程师使用 math 模块提供了支撑。

    示例代码:Python-100-days-day037

    参考:

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

    关注公众号:python技术,回复"python"一起学习交流

  • 相关阅读:
    Devops的衍生-腾讯优测
    如何评估软件测试的效率
    优测云服务平台如何破解兼容性测试操作难点
    测试工程师进阶面试题目大合集
    测试人员必看-做好自动化测试的7大技能
    史上最全软件开发|程序员必备的工具集
    腾讯优测优分享 | 高质量产品、高质量照片
    腾讯优测优分享 | 多媒体,多问题
    腾讯优测优分享 | 双卡双待-工程师难言的痛
    C#面向对象基础
  • 原文地址:https://www.cnblogs.com/ityouknow/p/12987614.html
Copyright © 2011-2022 走看看