0%

22、math.md

一、概要

Python 中数学运算常用的函数基本都在 math 模块、cmath 模块中。

Python math 模块提供了许多对浮点数的数学运算函数。

Python cmath 模块包含了一些用于复数运算的函数(这块用的比较少)。

cmath 模块的函数跟 math 模块函数基本一致,区别是 cmath 模块运算的是复数,math 模块运算的是数学运算

官方文档

要使用 math 或 cmath 函数必须先导入:

1
import math

二、详解

1、ceil

  1. 说明

    对大于等于x的最小整数

  2. 方法

    1
    math.ceil(x)
  3. 参数

    • x

      数字类型

  4. 返回值

    • 返回x的上限整数,如果是浮动型则返回上限,如果是整形则直接返回整形
  5. 示例代码

    1
    2
    3
    4
    5
    math.ceil(-3.1) # 3
    math.ceil(-1) # -1
    math.ceil(2.0) # 2
    math.ceil(3.1314) # 4
    math.ceil(-5.0) # 5

2、floor

  1. 说明

    得到最接近原数但是小于原数的部分,舍弃小数部分,取整数部分

  2. 方法

    1
    math.floor(x)
  3. 参数

    • x

      数字类型

  4. 返回值

    整数部分

  5. 示例代码

    1
    2
    math.floor(1.9) # 1
    math.floor(-1.9) # -2

3、fabs, abs

  1. 说明

    获取绝对值fabs 返回float类型,abs是int类型

  2. 方法

    1
    2
    3
    math.fabs(x)

    abs(x)
  3. 参数

    • x

      要处理的值,例如 float,int类型

  4. 返回值

    返回x的float类型绝对值

  5. 示例代码

    1
    2
    3
    4
    5
    6
    7
    math.fabs(-1000)
    math.fabs(-1.2)
    math.abs(-1)
    math.abs(-100)

    abs()

  6. 注意

    • fabs需要import math后才能调用,abs可以直接使用
    • abs可以用于复数而fabs不可以
    • fabs 返回的是float类型,不管是int或者float
    • abs 如果是float类型,则返回float类型,如果是int类型就返回int类型

4、modf

  1. 说明

    x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示

  2. 方法

    1
    math.modf( x )
  3. 参数

    • x

      数值类型

  4. 返回值

    返回x的整数部分与小数部分

  5. 示例代码

    1
    2
    math.modf(100.12)
    math.modf(-10)

5、fmod

  1. 说明

    取模运算

  2. 方法

    1
    math.fmod(x,y)
  3. 参数

    • x

      除数

    • y

      被余数

  4. 返回值

    返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示

  5. 示例代码

    1
    2
    3
    4
    5
    6
    7
    math.fmod(10, 3)   # 1.0
    math.fmod(104, -3) # 2.0
    math.fmod(103, 12) # 7.0
    10 % 3 # 1
    103 % 12 # 7
    103.12 % -1.2 # -0.07999999999999163
    math.fmod(103.12, -1.2) # 1.12
  6. 注意

    • y%x运算总是将y/x的值向下取整
    • math.fmod(y,x)是将y/x的值向0取整

6、fsum sum

  1. 说明

    对迭代器里的每个元素进行求和操作

  2. 方法

    1
    2
    math.fsum(iterable)
    sum()
  3. 参数

    • iterable

      可迭代对象,例如列表,元组

  4. 返回值

    求和,必须是数字类型

  5. 示例代码

    1
    2
    3
    4
    5
    6
    math.fsum([1, 2, 3, 4])
    math.fsum([-1, -2, -3, -4])
    math.fsum((1, 2, 3, 4))
    # 如果是字典类型注意根据key进行求和
    math.fsum({123: '123', 2: '12345'})
    sum((1, 2, 3, 4))

7、sqrt

  1. 说明

    平方根运算

  2. 方法

    1
    math.sqrt(x)
  3. 参数

    • x

      数字或者表达式

  4. 返回值

    返回数字x的平方根

  5. 示例代码

    1
    math.sqrt(5)

8、trunc

  1. 说明

    截断x的小数部分

  2. 方法

    1
    math.trunc(x)
  3. 参数

    • x

      数字部分

  4. 返回值

    • 在Python2.7版本返回值是浮点数;
    • 在python3.5版本是整数
  5. 示例代码

    1
    2
    math.trunc(1.20000)
    math.trunc(-8.01231231)

9、pow

  1. 说明

    xy(x的y次方) 的值

  2. 语法

    1
    math.pow(x,y)
  3. 参数

    • x

      数值表达式。

    • y

      数值表达式。

  4. 返回值

    (x的y次方) float类型的值

  5. 示例代码

    1
    2
    3
    4
    5
    math.pow(100, 2)  # 10000.0
    pow(100, 2) # 10000
    math.pow(100, -2) # 0.0001
    math.pow(4, 2) : # 16.0
    math.pow(3, 0) : # 1.0