当前位置: 首页 > 图灵资讯 > 技术篇> python标准库math用法精要

python标准库math用法精要

来源:图灵教育
时间:2023-06-12 09:19:59

1、ceil(x)返回大于或等于x的最小整数。>>> math.ceil(3.2)4.0>>> math.ceil(3)3.0>>> math.ceil(-3.2)-3.02、floor(x)返回小于等于x的最大整数。>>> math.floor(3.2)3.0>>> math.floor(-3.2)-4.03、fabs(x)返回x的绝对值。>>> math.fabs(3)3.0>>> math.fabs(-3)3.04、factorial(x)返回x的阶乘要求x为正整数。>>> math.factorial(3)6>>> math.factorial(5)120>>> math.factorial(6)720>>> math.factorial(6.1)

Traceback (most recent call last): File "<pyshell#12>", line 1, in <module> math.factorial(6.1)ValueError: factorial() only accepts integral values5、copysign(x,y)返回一个数字,其大小为x的绝对值,符号与y相同。>>> math.copysign(3,-1)-3.0>>> math.copysign(-3.5,3)3.56、fmod(x, y)返回x对y的余数与x%相似y。>>> math.copysign(3,-1)-3.0>>> math.copysign(-3.5,3)3.56、fmod(x, y)返回x对y的余数与x%相似y。Python社区推荐:建议使用实数

fmod()函数,建议使用%运算符作为整数。>>> math.fmod(3,2)1.0>>> math.fmod(3,-2)1.0>>> 3%-2 #注意fmod和%对余数符号的不同处理-1>>> math.fmod(3,2.1)0.8999999999999999>>> 3%2.10.8999999999999999>>> 1e-100%21e-100>>> math.fmod(1e-100,2)1e-100>>> math.fmod1e-100,2e100>>> 1e-100%2e1001e-100>>> -1e-100%2e1002e+100>>> math.fmod(-1e-100,2e100) #注意,在这种情况下,fmod和%

结果不同-1e-1007、frexp(x)返回尾数,指数对(m,e),使得x=m*2**e。>>> math.frexp(4.3)(0.5375, 3)>>> 0.5375*2**34.3>>> math.frexp(4)(0.5, 3)>>> 0.5*2**34.0>>> math.frexp(40)(0.625, 6)>>> 0.625*2**640.08、ldexp(m,e)返回x=m*2**e的值可以理解为frexp(x)的逆运算。>>> math.frexp(50)(0.78125, 6)>>> math.ldexp(0.78125,6)50.09、fsum(x)返回序列x中所有元素的总和可以避免精度对实数操作的影响

,从而获得更准确的值。>>> x = [.1, .1, .1, .1, .1, .1, .1, .1, .1, .1]>>> sum(x)0.9999999999999999>>> len(x)10>>> math.fsum(x)1.010、modf(x)返回x的小数部分和整数部分与x的符号相同。>>> math.modf(3)(0.0, 3.0)>>> math.modf(3.5)(0.5) 3.0)>>> math.modf(3.5)(0.5) -3.0)11、trunc(x)返回x的整数部分。>>> math.trunc(3.5)3>>> int(3.5)3>>> math.trunc(4.3)4>>> int(4.3)412、exp(x)返回e**x值。13、expm1(x)返回e**x-对于非常小的实数,1的值可以得到更准确的结果。>>> math.expm1(5)147.413159>>> math.e**5-1147.41315910257657>>> from math import e>>> math.exp(1e-5) - 11.0000050000069649e-05>>> math.expm1(1e-5)1.0000500001667e-000、log(x[,b])如果不提供b参数,则返回x的自然对数值,如果提供b参数,则返回x以b为底

对数值。>>> math.log(100)4.605170185988092>>> math.log(100,10)2.0>>> math.log(1024,2)10.015、log2(x)类似log(x,2),但结果更准确,Python 3.3开始支持。16、log10(x)类似log(x,10),但结果更准确。16、log10(x)类似log(x,10),但结果更准确。17、pow(x,y)返回x**y值,内置函数pow(x,y)类似。pow(x,0)和pow(1,x)总是

返回1。假如x是负值,y不是整数,错了。>>> pow(0,0)1>>> 0**01>>> math.pow(0,0)1.0>>> pow(-3,5)-243>>> pow(3,5.3)337.8645683867659>>> pow(-3,5.3)

Traceback (most recent call last): File "<pyshell#70>", line 1, in <module> pow(-3,5.3)ValueError: negative number cannot be raised to a

fractional power>>> math.pow(-3,5)-243.0>>> math.pow(3,5.3)337.8645683867659>>> math.pow(-3,5.3)

Traceback (most recent call last): File "<pyshell#75>", line 1, in <module> math.pow(-3,5.3)ValueError: math domain error18、sqrt(x)返回x平方根。>>> math.sqrt(9)3.0>>> math.sqrt(3)1.732050807568877219、acos(x)、asin(x)、atan(x)反余弦、反正弦、反正切函数值返回x,结果为弧度。>>> math.cos(3)-0.9899924966004454>>> math.acos(_)2.999999999999999620、atan2(y,x)返回atan(y/x)结果是-pi和pi之间的弧度值,即原点到(x,y)点

x正轴的向量和夹角。>>> math.atan(1)0.7853981633974483>>> _/math.pi #pi0.25的四分之一>>> math.atan2(1,1)0.7853981633974483>>> _/math.pi0.25>>> math.atan2(-1,-1)-2.356194490192345>>> _/math.pi #三分之三的pi-0.7521、sin(x)、cos(x)、tan(x)x用弧度表示返回x的正弦函数值、余弦函数值和正切函数值。>>> math.sin(math.pi)1.2246467991473532e-16>>> math.sin(0)0.0>>> math.sin(math.pi/2)1.0>>> x = [0, math.pi/4, math.pi/2, math.pi]>>> list(map(math.sin,x))[0.0, 0.7071067811865475, 1.0, 1.2246467991473532e-16]22、degrees(x)、radians(x)实现角度与弧度的相互转换。>>> math.radians(90) #pi1.570796267967966966>>> _/math.pi0.5>>> math.degrees(math.pi)180.023、acosh(x)、asinh(x)、atanh(x)、cosh(x)、sinh(x)、tanh(x)双曲线函数。24、erf(x)、erfc(x)、gamma(x)、lgamma(x)x处分别返回误差函数、剩余误差函数、伽马函数值、伽马函数

x处数值的绝对值的自然对数值。25、常数pi和e>>> math.pi3.141592653589793>>> math.e2.718281828459045