Python之math模块
math模块
math模块可以帮助我们在代码中很方便的进行数据计算,常用方法如下
ceil
取大于等于x的最小的整数值,如果x为一个整数,那么就是x本身
ceil(x) Return the ceiling of x as an int This is the smallest intergral value >=x import math print(math.ceil(59.88)) # 60
floor
取小于等于x的最大的整数值,如果x是一个整数,返回自身
floor(x) Return the floor of x as an int This is the largest integral value <=x print(math.floor(59.55)) # 59
copysign
把y的正负号加到x的前面,可以使用0
print(math.copysign(1,3)) # 1.0 print(math.copysign(1,-3)) # -1.0
cos
求x的余弦,x必须是弧度
print(math.cos(math.pi / 4)) # math.pi表示弧度,转换成角度为45度 print(math.cos(math.pi / 3)) # 转换成角度为60度 print(math.cos(math.pi / 6)) # 转换成角度为30度
degrees
把x从弧度转换成角度
print(math.degrees(math.pi / 4)) print(math.degrees(math.pi / 6)) print(math.degrees(math.pi / 3))
e
表示一个常量
print(math.e)
exp
返回math.e,也就是2.71828的x次方
print(math.exp(1)) # 返回math.e的1次方 print(math.exp(2)) # 返回math.e的2次方 print(math.exp(3)) # 返回math.e的3次方
expm1
返回math.e的x次方的值减1
print(math.expm1(1)) print(math.expm1(2)) print(math.expm1(3))
fbs
返回x的绝对值
print(math.fbs(-0.001)) # 0.001 print(math.fbs(-9.1)) #9.1 print(math.fbs(444)) # 444
factorial
取x的阶乘的值
print(math.factorial(1)) #1 print(math.factorial(2)) # 2 print(math.factorial(3)) # 6 print(math.factorial(4)) # 24
fmod
得到x/y的余数,其值是一个浮点数
print(math.fmod(10,3)) # 1 print(math.fmod(20,3)) # 2
frexp
返回一个元祖(m,e),其计算方式为x分别除以0.5和1,得到一个值的范围,2××e的值在这个范围内,e取符合要求的最大整数值,然后x / (2**e),得到m的值,如果x等于0,则m和e的值都为0,m的绝对值的范围在(0.5,1)之间,不包括0.5和1
Return the mantissa and exponent of x, as pair (m, e). m is a float and e is an int, such that x = m * 2.**e. If x is 0, m and e are both 0. Else 0.5 <= abs(m) < 1.0. print math.frexp(10)
fsum
对迭代器里的每个元素进行求和操作
print(math.fsum([1,2,3,4])) # 10
gcd
返回x和y的最大公约数
print( math.gcd(8,6))
hypot
得到(x**2 + y**2),平方的值
print( math.hypot(3,4)) # 5 print(math.hypot(6.8)) # 10
isfinite
如果x是不是无穷大的数字,则返回True,否则返回False
print(math.isfinite(100))
isinf
如果x是正无穷大或负无穷大,则返回True,否则返回False
print(math.isinf(234)) # False
isnan
如果x不是数字True,否则返回False
print(math.isnan(23))
idexp
返回x*(2**i)的值
print(math.ldexp(5,5))
log
返回x的自然对数,默认以e为基数,base参数给定时,将x的对数返回给定的base,计算式为:log(x)/log(base)
>>> math.log(10) 2.302585092994046 >>> math.log(11) 2.3978952727983707 >>> math.log(20) 2.995732273553991
log10
返回x的以10为底的对数
>>> math.log10(10) 1.0 >>> math.log10(100) 2.0 #即10的1.3次方的结果为20 >>> math.log10(20) 1.3010299956639813
log1p
返回x+1的自然对数(基数为e)的值
>>> math.log(10) 2.302585092994046 >>> math.log1p(10) 2.3978952727983707 >>> math.log(11) 2.3978952727983707
log2
返回x的基2对数
>>> math.log2(32) 5.0 >>> math.log2(20) 4.321928094887363 >>> math.log2(16) 4.0
modf
返回由x的小数部分和整数部分组成的元组
>>> math.modf(math.pi) (0.14159265358979312, 3.0) >>> math.modf(12.34) (0.33999999999999986, 12.0)
pi
数字常量,圆周率
>>> print(math.pi) 3.141592653589793
pow
返回x的y次方,即x**y
>>> math.pow(3,4) 81.0 >>> >>> math.pow(2,7) 128.0
radians
把角度x转换成弧度
>>> math.radians(45) 0.7853981633974483 >>> math.radians(60) 1.0471975511965976
sin
求x(x为弧度)的正弦值
>>> math.sin(math.pi/4) 0.7071067811865475 >>> math.sin(math.pi/2) 1.0 >>> math.sin(math.pi/3) 0.8660254037844386
sqrt
求x的平方根
>>> math.sqrt(100) 10.0 >>> math.sqrt(16) 4.0 >>> math.sqrt(20) 4.47213595499958
tan
返回x(x为弧度)的正切值
>>> math.tan(math.pi/4) 0.9999999999999999 >>> math.tan(math.pi/6) 0.5773502691896257 >>> math.tan(math.pi/3) 1.7320508075688767
trunc
返回x的整数部分
>>> math.trunc(6.789) 6 >>> math.trunc(math.pi) 3 >>> math.trunc(2.567) 2