Python之math模块常用方法汇总

2023-12-19 22:41:34

python中math模块常用的方法整理

ceil:取大于等于x的最小的整数值,如果x是一个整数,则返回x

copysign:把y的正负号加到x前面,可以使用0

cos:求x的余弦,x必须是弧度

degrees:把x从弧度转换成角度

e:表示一个常量

exp:返回math.e,也就是2.71828的x次方

expm1:返回math.e的x(其值为2.71828)次方的值减1

fabs:返回x的绝对值

factorial:取x的阶乘的值

floor:取小于等于x的整数值,如果x是一个整数,则返回自身

fmod:得到x/y的余数,其值是一个浮点数

frexp:返回一个元组(m,e),其计算方式为:x分别除0.5和1,得到一个值的范围

fsum:对迭代器里的每个元素进行求和操作

gcd:返回x和y的公约数

hypot:如果x是不是无穷大的数字,则返回True,否则返回False

isfinite:如果x是正无穷大或负无穷大,则返回True,否则返回False

isinf:如果x是正无穷大或负无穷大,则返回True,否则返回False

isnan:如果x不是数字True,否则返回False

ldexp:返回x*(2**i)的值

log:返回x的自然对数,默认以e为基数,base参数给定时,将x的对数返回给定的base,计算式为:log(x)/log(base)

log10:返回x的以10为底的对数

log1p:返回x+1的自然对数(基数为e)的值

log2:返回x的基2对数

modf:返回由x的小数部分和整数部分组成的元组

pi:数字常量,圆周率

pow:返回x的y次方,即x**y

radians:把角度x转换成弧度

sin:求x(x为弧度)的正弦值

sqrt:求x的平方根

tan:返回x(x为弧度)的正切值

trunc:返回x的整数部分

ceil

#取大于等于x的最小的整数值,如果x是一个整数,则返回x
ceil(x)
Return?the?ceiling?of?x?as?an?int.
This?is?the?smallest?integral?value?>=?x.
>>>?math.ceil(4.01)
5
>>>?math.ceil(4.99)
5
>>>?math.ceil(-3.99)
-3
>>>?math.ceil(-3.01)
-3

copysign

#把y的正负号加到x前面,可以使用0
copysign(x,?y)
Return?a?float?with?the?magnitude?(absolute?value)?of?x?but?the?sign?
of?y.?On?platforms?that?support?signed?zeros,?copysign(1.0,?-0.0)?
returns?-1.0.
>>>?math.copysign(2,3)
2.0
>>>?math.copysign(2,-3)
-2.0
>>>?math.copysign(3,8)
3.0
>>>?math.copysign(3,-8)
-3.0

cos

#求x的余弦,x必须是弧度
cos(x)
Return?the?cosine?of?x?(measured?in?radians).
#math.pi/4表示弧度,转换成角度为45度
>>>?math.cos(math.pi/4)
0.7071067811865476
math.pi/3表示弧度,转换成角度为60度
>>>?math.cos(math.pi/3)
0.5000000000000001
math.pi/6表示弧度,转换成角度为30度
>>>?math.cos(math.pi/6)
0.8660254037844387

degrees

#把x从弧度转换成角度
degrees(x)
Convert?angle?x?from?radians?to?degrees.
>>>?math.degrees(math.pi/4)
45.0
>>>?math.degrees(math.pi)
180.0
>>>?math.degrees(math.pi/6)
29.999999999999996
>>>?math.degrees(math.pi/3)
59.99999999999999

e

#表示一个常量
>>>?math.e
2.718281828459045

exp

#返回math.e,也就是2.71828的x次方
exp(x)
Return?e?raised?to?the?power?of?x.
>>>?math.exp(1)
2.718281828459045
>>>?math.exp(2)
7.38905609893065
>>>?math.exp(3)
20.085536923187668

expm1

#返回math.e的x(其值为2.71828)次方的值减1
expm1(x)
Return?exp(x)-1.
This?function?avoids?the?loss?of?precision?involved?in?the?direct?evaluation?of?exp(x)-1?for?small?x.
>>>?math.expm1(1)
1.718281828459045
>>>?math.expm1(2)
6.38905609893065
>>>?math.expm1(3)
19.085536923187668

fabs

#返回x的绝对值
fabs(x)
Return?the?absolute?value?of?the?float?x.
>>>?math.fabs(-0.003)
0.003
>>>?math.fabs(-110)
110.0
>>>?math.fabs(100)
100.0

factorial

#取x的阶乘的值
factorial(x)?->?Integral
Find?x!.?Raise?a?ValueError?if?x?is?negative?or?non-integral.
>>>?math.factorial(1)
1
>>>?math.factorial(2)
2
>>>?math.factorial(3)
6
>>>?math.factorial(5)
120
>>>?math.factorial(10)
3628800

floor

#取小于等于x的整数值,如果x是一个整数,则返回自身
floor(x)
Return?the?floor?of?x?as?an?int.
This?is?the?largest?integral?value?<=?x.
>>>?math.floor(4.1)
4
>>>?math.floor(4.999)
4
>>>?math.floor(-4.999)
-5
>>>?math.floor(-4.01)
-5

fmod

#得到x/y的余数,其值是一个浮点数
fmod(x,?y)
Return?fmod(x,?y),?according?to?platform?C.??x?%?y?may?differ.
>>>?math.fmod(20,3)
2.0
>>>?math.fmod(20,7)
6.0

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
frexp(x)
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.
>>>?math.frexp(10)
(0.625,?4)
>>>?math.frexp(75)
(0.5859375,?7)
>>>?math.frexp(-40)
(-0.625,?6)
>>>?math.frexp(-100)
(-0.78125,?7)
>>>?math.frexp(100)
(0.78125,?7)

fsum

#对迭代器里的每个元素进行求和操作
fsum(iterable)
Return?an?accurate?floating?point?sum?of?values?in?the?iterable.
Assumes?IEEE-754?floating?point?arithmetic.
>>>?math.fsum([1,2,3,4])
10.0
>>>?math.fsum((1,2,3,4))
10.0
>>>?math.fsum((-1,-2,-3,-4))
-10.0
>>>?math.fsum([-1,-2,-3,-4])
-10.0

gcd

#返回x和y的公约数
gcd(x,?y)?->?int
greatest?common?divisor?of?x?and?y
>>>?math.gcd(8,6)
2
>>>?math.gcd(40,20)
20
>>>?math.gcd(8,12)
4

hypot

#得到(x**2+y**2),平方的值
hypot(x,?y)
Return?the?Euclidean?distance,?sqrt(x*x?+?y*y).
>>>?math.hypot(3,4)
5.0
>>>?math.hypot(6,8)
10.0

isfinite

#如果x是不是无穷大的数字,则返回True,否则返回False
isfinite(x)?->?bool
Return?True?if?x?is?neither?an?infinity?nor?a?NaN,?and?False?otherwise.
>>>?math.isfinite(100)
True
>>>?math.isfinite(0)
True
>>>?math.isfinite(0.1)
True
>>>?math.isfinite("a")
>>>?math.isfinite(0.0001)
True

isinf

#如果x是正无穷大或负无穷大,则返回True,否则返回False
isinf(x)?->?bool
Return?True?if?x?is?a?positive?or?negative?infinity,?and?False?otherwise.
>>>?math.isinf(234)
False
>>>?math.isinf(0.1)
False

isnan

#如果x不是数字True,否则返回False
isnan(x)?->?bool
Return?True?if?x?is?a?NaN?(not?a?number),?and?False?otherwise.
>>>?math.isnan(23)
False
>>>?math.isnan(0.01)
False

ldexp

#返回x*(2**i)的值
ldexp(x,?i)
Return?x?*?(2**i).
>>>?math.ldexp(5,5)
160.0
>>>?math.ldexp(3,5)
96.0

log

#返回x的自然对数,默认以e为基数,base参数给定时,将x的对数返回给定的base,计算式为:log(x)/log(base)
log(x[,?base])
Return?the?logarithm?of?x?to?the?given?base.
If?the?base?not?specified,?returns?the?natural?logarithm?(base?e)?of?x.
>>>?math.log(10)
2.302585092994046
>>>?math.log(11)
2.3978952727983707
>>>?math.log(20)
2.995732273553991

log10

#返回x的以10为底的对数
log10(x)
Return?the?base?10?logarithm?of?x.
>>>?math.log10(10)
1.0
>>>?math.log10(100)
2.0
#即10的1.3次方的结果为20
>>>?math.log10(20)
1.3010299956639813

log1p

#返回x+1的自然对数(基数为e)的值
log1p(x)
Return?the?natural?logarithm?of?1+x?(base?e).
The?result?is?computed?in?a?way?which?is?accurate?for?x?near?zero.
>>>?math.log(10)
2.302585092994046
>>>?math.log1p(10)
2.3978952727983707
>>>?math.log(11)
2.3978952727983707

log2

#返回x的基2对数
log2(x)
Return?the?base?2?logarithm?of?x.
>>>?math.log2(32)
5.0
>>>?math.log2(20)
4.321928094887363
>>>?math.log2(16)
4.0

modf

#返回由x的小数部分和整数部分组成的元组
modf(x)
Return?the?fractional?and?integer?parts?of?x.??Both?results?carry?the?sign
of?x?and?are?floats.
>>>?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
pow(x,?y)
Return?x**y?(x?to?the?power?of?y).
>>>?math.pow(3,4)
81.0
>>>?
>>>?math.pow(2,7)
128.0

radians

#把角度x转换成弧度
radians(x)
Convert?angle?x?from?degrees?to?radians.
>>>?math.radians(45)
0.7853981633974483
>>>?math.radians(60)
1.0471975511965976

sin

#求x(x为弧度)的正弦值
sin(x)
Return?the?sine?of?x?(measured?in?radians).
>>>?math.sin(math.pi/4)
0.7071067811865475
>>>?math.sin(math.pi/2)
1.0
>>>?math.sin(math.pi/3)
0.8660254037844386

sqrt

#求x的平方根
sqrt(x)
Return?the?square?root?of?x.
>>>?math.sqrt(100)
10.0
>>>?math.sqrt(16)
4.0
>>>?math.sqrt(20)
4.47213595499958

tan

#返回x(x为弧度)的正切值
tan(x)
Return?the?tangent?of?x?(measured?in?radians).
>>>?math.tan(math.pi/4)
0.9999999999999999
>>>?math.tan(math.pi/6)
0.5773502691896257
>>>?math.tan(math.pi/3)
1.7320508075688767

trunc

#返回x的整数部分
trunc(x:Real)?->?Integral
Truncates?x?to?the?nearest?Integral?toward?0.?Uses?the?__trunc__?magic?method.
>>>?math.trunc(6.789)
6
>>>?math.trunc(math.pi)
3
>>>?math.trunc(2.567)
2

文章来源:https://blog.csdn.net/hakesashou/article/details/135094176
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。