python语言的数学模块是什么_Python数学math模块55个函数详解

Python math 模块提供了许多对浮点数的数学运算函数。主要框架包括数论与表示函数

幂函数与对数函数

三角函数

角度转换

双曲函数

特殊函数

常量

import mathprint(dir(math))[ 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'copysign', 'cos', 'cosh', 'degrees', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'pi', 'pow', 'radians', 'remainder', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc']

注意:上面的函数是不能直接访问的,需要导入 math 模块,通过静态对象调用该方法。数论与表示函数ceil()

描述:向上取整数,返回 x 的上限,即大于或者等于 x 的最小整数

语法:math.ceil(x)import math#需要导入数学模块math.ceil(5.1)6math.ceil(5.0)5math.ceil(5.8)6copysign()

描述:返回一个基于 x 的绝对值和 y 的符号的浮点数。在支持带符号零的平台上,copysign(1.0, -0.0) 返回 -1.0.

语法:math.copysign(x, y)

math.copysign(1,-1)-1.0math.copysign(-1,-1)-1.0math.copysign(-1,1)1.fabs()

描述:返回数字的绝对值

语法:math.fabs( x )math.fabs(-45.17)45.17math.fabs(100)100.0math.fabs(math.pi)3.14159265358979factorial()

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

语法:math.factorial( x )

math.factorial(5)#1*2*3*4*5120math.factorial(3)#1*2*36floor()

描述:返回 x 的向下取整,小于或等于 x 的最大整数。如果 x 不是浮点数,则委托 x.__floor__() ,它应返回 Integral 值。

语法:math.floor( x )math.floor(1.2)1math.floor(1.99)1fmod()

描述:返回余数,函数 fmod() 在使用浮点数时通常是首选,而Python的 x % y 在使用整数时是首选。

语法:math.fmod(x, y)

math.fmod(10, 3)1.0math.fmod(8, 3)2.0math.fmod(8.2, 3)2.199999999999999frexp()

描述:返回 x 的尾数和指数作为对``(m, e)``。 m 是一个浮点数, e 是一个整数,正好是 x == m * 2**e 。 如果 x 为零,则返回 (0.0, 0) ,否则返回 0.5 <= abs(m) < 1 。这用于以可移植方式“分离”浮点数的内部表示。

语法:math.frexp(x)math.frexp(32)(0.5, 6)fsum()

描述:对迭代器里的每个元素进行求和操作,返回迭代中的精确浮点值。通过跟踪多个中间部分和来避免精度损失

语法:math.fsum( x )

math.fsum((1,2,3,4))10.0math.fsum([1,2,3,4])10.0sum([.1, .1, .1, .1, .1, .1, .1, .1, .1, .1])0.9999999999999999math.fsum([.1, .1, .1, .1, .1, .1, .1, .1, .1, .1])1gcd()

描述:返回整数 a 和 b 的最大公约数。如果 a 或 b 之一非零,则 gcd(a, b) 的值是能同时整除 a 和 b 的最大正整数。gcd(0, 0) 返回 0。

语法:math.gcd( x,y)math.gcd(12,6)6math.gcd(15,25)5isclose()

描述:若 a 和 b 的值比较接近则返回 True,否则返回 False。根据给定的绝对和相对容差确定两个值是否被认为是接近的。

语法:math.isclose(a, b, *, rel_tol=1e-09, abs_tol=0.0)rel_tol 是相对容差 —— 它是 a 和 b 之间允许的最大差值,相对于 a 或 b 的较大绝对值。例如,要设置5%的容差,请传递 rel_tol=0.05 。默认容差为 1e-09,确保两个值在大约9位十进制数字内相同。 rel_tol 必须大于零。

abs_tol 是最小绝对容差 —— 对于接近零的比较很有用。 abs_tol 必须至少为零。

如果没有错误发生,结果将是: abs(a-b) <= max(rel_tol * max(abs(a), abs(b)), abs_tol) 。

IEEE 754特殊值 NaN , inf 和 -inf 将根据IEEE规则处理。具体来说, NaN 不被认为接近任何其他值,包括 NaN 。 inf 和 -inf 只被认为接近自己。

math.isclose(1.0,1.0000000000001)Truemath.isclose(1.0,1.000000001)Falseisfinite()

描述:如果 x 既不是无穷大也不是NaN,则返回 True ,否则返回 False 。 (注意 0.0 被认为 是 有限的。)

语法:math.isfinite(x)math.isfinite(2)Truemath.isfinite(math.nan)Falsemath.isfinite(math.inf)Falseisinf()

描述:如果 x 是正或负无穷大,则返回 True ,否则返回 False 。

语法:math.isinf()

math.isinf(math.inf)Truemath.isinf(-math.inf)Trueisnan()

描述:如果 x 是 NaN(不是数字),则返回 True ,否则返回 False 。

语法:math.isnan(x)math.isnan(math.nan)Trueldexp()

描述:返回 x * (2**i) 。 这基本上是函数 frexp() 的反函数。

语法:math.ldexp(x, i)

math.ldexp(5, 3)40.05 * (2**3)40modf()

描述:返回 x 的小数和整数部分。两个结果都带有 x 的符号并且是浮点数。

语法:math.modf(x)math.modf(3.71828)(0.71828, 3.0)remainder()

描述:返回 IEEE 754 风格的 x 相对于 y 的余数

语法:math.remainder(x, y)

math.remainder(14, 5)-1.0math.remainder(13, 5)-2.0math.remainder(12, 5)2.0math.remainder(11, 5)1trunc()

描述:返回 Real 值 x 截断为 Integral (通常是整数)

语法:math.trunc(x)math.trunc(3.718281828459045)3幂函数与对数函数exp()

描述:返回 e 次 x 幂,其中 e = 2.718281... 是自然对数的基数。这通常比 math.e ** x 或 pow(math.e, x) 更精确。

语法:math.exp( x )

注意:exp()是不能直接访问的,需要导入 math 模块,通过静态对象调用该方法。

math.exp(1)2.718281828459045math.exp(0)1.0math.exp(3)20.08553692318766expm1()

描述:返回 e 的 x 次幂,减1。这里 e 是自然对数的基数。对于小浮点数 x , exp(x) - 1 中的减法可能导致 significant loss of precision; expm1() 函数提供了一种将此数量计算为全精度的方法

语法:math.expm1(x)math.exp(1e-5) - 1 1.0000050000069649e-05math.expm1(1e-5)1.0000050000166667e-05math.expm1(1)1.718281828459045math.expm1(2)6.3890560989306log()

描述:使用一个参数,返回 x 的自然对数(底为 e )。

语法:math.log(x[, base])

参数:x -- 数值表达式。

base -- 可选,底数,默认为 e。

math.log(math.e)1.0math.log(20)2.995732273553991math.log(100,10)#返回以10为底的对数2.log1p()

描述:返回 1+x (base e) 的自然对数。以对于接近零的 x 精确的方式计算结果。

语法:math.log1p(x)math.log1p(1)0.6931471805599453log2()

描述:返回 x 以2为底的对数。这通常比 log(x, 2) 更准确。

语法:math.log2(x)

math.log2(8)3.0log10()

描述:返回 x 底为10的对数。这通常比 log(x, 10) 更准确。

语法:math.log10( x )math.log10(100)2.0math.log10(1000)3.0pow()

描述:返回 (x的y次方) 的值。与内置的 ** 运算符不同, math.pow() 将其参数转换为 float 类型。使用 ** 或内置的 pow() 函数来计算精确的整数幂。

语法:math.pow( x, y )

math.pow( 2, 4 )16.0math.pow( 10, 2 )100.0sqrt()

描述:返回数字x的平方根。

语法:math.sqrt( x )math.sqrt(4) 2.0math.sqrt(100) 10.0math.sqrt(7) 2.6457513110645907math.sqrt(math.pi) 1.77245385090551三角函数acos()

描述:以弧度为单位返回 x 的反余弦值。

语法:math.acos(x)

math.acos(.5)1.0471975511965979asin()

描述:以弧度为单位返回 x 的反正弦值。

语法:math.asin(x)math.asin(.5)0.5235987755982989atan()

描述:以弧度为单位返回 x 的反正切值。

语法:math.atan(x)

math.atan(1)0.7853981633974483atan2()

描述:以弧度为单位返回 atan(y / x) 。结果是在 -pi 和 pi 之间。从原点到点 (x, y) 的平面矢量使该角度与正X轴成正比。 atan2() 的点的两个输入的符号都是已知的,因此它可以计算角度的正确象限。 例如, atan(1) 和 atan2(1, 1) 都是 pi/4 ,但 atan2(-1, -1) 是 -3*pi/4 。

语法:math.atan2(y, x)math.atan2(1, 1)0.7853981633974483math.pi/40.7853981633974483cos()

描述:返回 x 弧度的余弦值。

语法:math.cos(x)

math.cos(math.pi/6)0.8660254037844387hypot()

描述:返回欧几里德范数, sqrt(x*x + y*y) 。 这是从原点到点 (x, y) 的向量长度。

语法:math.hypot(x, y)math.hypot(1, 1)1.4142135623730951sin()

描述:返回 x 弧度的正弦值。

语法:math.sin(x)

math.sin(math.pi/6)0.49999999999999994tan()

描述:返回 x 弧度的正切值。

语法:math.tan(x)math.tan(math.pi/4)0.9999999999999999角度转换degrees()

描述:将角度 x 从弧度转换为度数。

语法:math.degrees(x)

math.degrees(math.pi)180.0math.degrees(3)171.88733853924697radians()

描述:将角度 x 从度数转换为弧度。

语法:math.radians(x)math.radians(180)3.141592653589793双曲函数

双曲函数 是基于双曲线而非圆来对三角函数进行模拟。

acosh()

描述:返回 x 的反双曲余弦值。

语法:math.acosh(x)

math.acosh(3)1.762747174039086asinh()

描述:返回 x 的反双曲正弦值。

语法:math.asinh(x)math.asinh(1)0.8813735870195429atanh()

描述:返回 x 的反双曲正切值。

语法:math.atanh(x)

math.atanh(0.5)0.5493061443340549cosh()

描述:返回 x 的双曲余弦值。

语法:math.cosh(x)math.cosh(2)3.7621956910836314sinh()

描述:返回 x 的双曲正弦值。

语法:math.sinh(x)

math.sinh(1)1.1752011936438014tanh()

描述:返回 x 的双曲正切值。

语法:math.tanh(x)math.tanh(3)0.9950547536867305特殊函数erf()

描述:返回 x 处的 error function 。

语法:math.erf(x)

math.erf(1)0.8427007929497149erf() 函数可用于计算传统的统计函数,如 累积标准正态分布def phi(x): return (1.0 + erf(x / sqrt(2.0))) / 2.0erfc()

描述:返回 x 处的互补误差函数。 互补错误函数 定义为 1.0 - erf(x)。 它用于 x 的大值,从其中减去一个会导致 有效位数损失。

语法:math.erfc(x)math.erfc(1)0.1572992070502851gamma()

描述:返回 x 处的 伽马函数 值。

语法:math.gamma(x)

math.gamma(4)6.0lgamma()

描述:返回Gamma函数在 x 绝对值的自然对数。

语法:math.lgamma(x)math.lgamma(4)1.7917594692280554常 量pi

描述:圆周率。数学常数 π = 3.141592...,精确到可用精度。

语法:math.pi

math.pi3.141592653589793e

描述:数学常数 e = 2.718281...,精确到可用精度。

语法:math. emath.e2.718281828459045tau

描述:数学常数 τ = 6.283185...,精确到可用精度。Tau 是一个圆周常数,等于 2π,圆的周长与半径之比

语法:math.tau

math.tau6.283185307179586inf

描述:浮点正无穷大。 (对于负无穷大,使用 -math.inf 。)相当于``float('inf')`` 的输出。

语法:math.infmath.infinfnan

描述:浮点“非数字”(NaN)值。 相当于 float('nan') 的输出。

语法:math.nan

math.nannan

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值