python标准库之数学运算

python标准库的math模块实现了许多对浮点数的数学运算函数。

1、符号操作

1
2
3
4
5
6
7
import math

a = 1.67
b = -2.6

print(math.fabs(b)) # 返回 b 的绝对值
print(math.copysign(a, b)) # 返回与 b 同号的 a 值

2、向上与向下取整

1
2
3
4
5
6
import math

a = 1.058

print(math.modf(a)) # 向上取整
print(math.ceil(a)) # 向下取整

3、分离整数及小数部分

1
2
3
4
5
6
7
8
import math

a = 1.058

print(math.modf(a))
print(math.modf(a)[0]) # 小数部分
print(math.modf(a)[1]) # 整数部分
print(math.trunc(a)) # 整数部分

4、取模

1
2
3
4
import math

print(math.fmod(9, 2))
print(9 % 2)

5、最大公约数

1
2
3
import math

print(math.gcd(40,20))

6、阶乘

1
2
3
import math

print(math.factorial(3)) # 3*2*1

7、开方运算

1
2
3
4
import math

print(math.sqrt(25))
print(math.hypot(3, 4)) # sqrt(3**2, 4**2)

8、幂运算与对数运算

1
2
3
4
5
6
7
8
9
10
11
12
13
import math

print(math.e) # 常数e

# 幂运算
print(math.e**2)
print(math.exp(2))
print(math.pow(math.e, 2))

# 对数运算
print(math.log(math.e**2, math.e))
print(math.log10(100))
print(math.log1p(math.e-1))

9、三角函数与反三角函数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import math

print(math.pi) # 常数pi

a = math.degrees(math.pi) # 弧度转换为角度
b = math.radians(a) # 角度转换为弧度
print(a)
print(b)

print(math.sin(math.pi/2)) # 正弦
print(math.cos(math.pi/3)) # 余弦
print(math.tan(math.pi/4)) # 正切

print(math.asin(math.sin(math.pi/2))) # 反正弦
print(math.acos(math.cos(math.pi/3))) # 反余弦
print(math.atan(math.tan(math.pi/4))) # 反正切