what's the math 模块
Python math 模块提供了许多对浮点数的数学运算函数。需要注意的是,这些函数一般是对平台 C 库中同名函数的简单封装, 所以一般情况下, 不同平台下计算的结果可能稍微地有所不同, 有时候甚至有很大出入。
主要功能有:
- 幂数:幂次方、平方根
- 对数:2、10、e相关的对数操作
- 圆相关:π、弧度与角度的转换
- 三角函数:正三角函数、反三角函数
- 其他常用:小数的整数部分、向上取整、向下取整、两个数的最大公约数、取余数...
幂数
幂与平方根
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
# pow(x, y):返回x的y次方 print (math. pow ( 2 , 4 )) # 2**4 # ldexp(x, i):返回x*(2**i)的值 print (math.ldexp( 5 , 2 )) # 5*(2**2)=20.0 # sqrt(x):求x的平方根 print (math.sqrt( 16 )) # 4.0 # factorial(x):取x的阶乘的值 print (math.factorial( 5 )) # 5*4*3*2*1 # 120 # hypot(x, y):得到(x**2+y**2)的平方根 print (math.hypot( 3 , 4 )) # 5 |
常数e相关
1
2
3
4
5
6
7
8
9
10
|
import math # 常数e math.e # 2.718281828459045 # exp(x):返回常数e的x次方 math.exp( 2 ) # 7.38905609893065,相当于math.e**2 # expm1:返回常数e的x次方的值减1 math.expm1( 1 ) # 1.718281828459045,相当于math.exp(1) - 1 |
对数
1
2
3
4
5
6
7
8
9
10
11
|
# log2(x):返回x的基2对数 print (math.log2( 128 )) # 7 # log10(x):返回x的以10为底的对数 print (math.log10( 100 )) # 2 # log(x, base):返回x的自然对数,默认以e为基数,base参数给定时,将x的对数返回给定的base,计算式为:log(x)/log(base) print (math.log( 256 , 4 )) # 4 # log1p(x)::返回x+1的自然对数(基数为e)的值 print (math.log1p( 5 )) |
圆相关
1
2
3
4
5
6
7
8
9
10
11
|
# pi:常数π,圆周率 print (math.pi) # 3.141592653589793 angle = 30 # 30度 # radians:把角度x转换成弧度 print (math.radians(angle)) # 0.5235987755982988 print ( 30 * math.pi / 180 ) # 效果相同 # degrees:把x从弧度转换成角度 temp = math.radians(angle) print (math.degrees(temp)) # 29.999999999999996 |
三角函数
sin、cos、tan
math 模块对正三角函数的计算,变量是弧度,所以在计算时需要先将角度转换为弧度
1
2
3
4
5
|
angle = 30 # 30度 radian = math.radians(angle) # 角度转换成弧度 print (math.sin(radian)) print (math.cos(radian)) print (math.tan(radian)) |
asin和acos和atan
math 模块对反三角函数的计算,返回值是弧度
1
2
3
4
5
6
7
8
9
|
h = math.asin( 0.5 ) # sin(30) = 0.5 print (math.degrees(h)) # 30.000000000000004 h = math.acos( 0.5 ) # cos(60) = 0.5 print (math.degrees(h)) # 60.00000000000001 h = math.atan( 1 ) # tan(45) = 1 print (math.degrees(h)) # 45.0 |
sinh和cosh和tanh,asinh和acosh和atanh
双曲正弦、余弦、正切,反双曲正弦、余弦、正切
其他
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
# trunc(x):返回x的整数部分 print (math.trunc( 8.3 )) # 8 # ceil(x):取大于等于x的最小的整数值,如果x是一个整数,则返回x print (math.ceil( 10.2 )) # 11 # floor(x):取小于等于x的最大的整数值,如果x是一个整数,则返回自身 print (math.floor( 15.3 )) # 15 # fabs(x):返回x的绝对值 print (math.fabs( - 13 )) # 13.0 # modf(x):返回由x的小数部分和整数部分组成的元组 print (math.modf( 132.333 )) # (0.3329999999999984, 132.0) # copysign(x, y):把y的正负号加到x前面,可以使用0 print (math.copysign( 10 , - 15 )) # -10.0 # fmod(x, y):得到x/y的余数,其值是一个浮点数 print (math.fmod( 15 , 2 )) # 1.0 # gcd(x, y):返回x和y的最大公约数 print (math.gcd( 8 , 100 )) # 4 # frexp(x):返回一个元组(m,e),其计算方式为:x分别除0.5和1,得到一个值的范围 print (math.frexp( 10 )) # fsum(x):对迭代器里的每个元素进行求和操作 print (math.fsum([ 1 , 2 , 3 , 4 ])) # 10.0 # isfinite(x):如果x是正无穷大或负无穷大,则返回True,否则返回False # # isinf(x):如果x是正无穷大或负无穷大,则返回True,否则返回False # # isnan(x):如果x不是数字True,否则返回False print (math.isnan( 1.222 )) |
进阶应用
计算2个坐标点的距离
1
2
3
4
5
6
7
8
9
10
11
|
import math x1 = 0 y1 = 20 x2 = 12 y2 = 0 p1 = (x1, y1) p2 = (x2, y2) result = math.sqrt(math. pow (x1 - x2, 2 ) + math. pow (y1 - y2, 2 )) |
以上就是python math模块的基本使用教程的详细内容,更多关于python math模块的使用的资料请关注服务器之家其它相关文章!
原文链接:https://www.cnblogs.com/zhuminghui/p/12785085.html