math模块
math模块可以帮助我们在代码中很方便的进行数据计算,常用方法如下
ceil
取大于等于x的最小的整数值,如果x为一个整数,那么就是x本身
ceil(x)
Return the ceiling of x as an int
Thisis the smallest intergral value >=ximportmathprint(math.ceil(59.88)) #60
floor
取小于等于x的最大的整数值,如果x是一个整数,返回自身
floor(x)
Return the floor of x as an int
Thisis the largest integral value <=xprint(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 andexponent of x, as pair (m, e).
mis a float and e is an int, such that x = m * 2.**e.
If xis 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