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

 

  

 

posted @ 2019-10-15 21:20  mcc61  阅读(810)  评论(0编辑  收藏  举报