天天看点

python math_Python之math模块

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