1. fabs(x):返回x的浮点型绝对值
import math
print(math.fabs(-10))
print(math.fabs(-78.09))
10.0
78.09
2. ceil(x): 返回不小于x的最小整数,即向上取整
import math
print(math.ceil(-9.9))
print(math.ceil(4.2))
print(math.ceil(8))
-9
5
8
3. floor(x): 返回不大于x的最大整数,即向下取整
import math
print(math.floor(-6.7))
print(math.floor(2.1))
print(math.floor(10))
-7
2
10
4. modf(x): 返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示
import math
print(math.modf(2.5))
print(math.modf(-3.7))
(0.5, 2.0)
(-0.7000000000000002, -3.0)
5. exp(x): 返回e的x次幂
import math
print(math.exp(2))
print(math.exp(1))
print(math.exp(3.5))
7.38905609893065
2.718281828459045
33.11545195869231
6. log(x): 使用一个参数,返回 x 的自然对数(底为 e ); 使用两个参数,返回给定的 base 的对数 x
import math
print(math.log(math.e))
print(math.log(1))
print(math.log(4, 2))
1.0
0.0
2.0
7. pow(x, y): 将返回 x
的 y
次幂。 pow() 通过内置的方法直接调用,内置方法会把参数作为整型,而 math 模块则会把参数转换为 float。x
是负数, y
不是整数那么 pow(x,y)
会报 ValueError。
import math
print(math.pow(2, 3))
print(math.pow(3, 4.6))
print(math.pow(5.3, 9.8))
print(math.pow(-2, 7.2))
8.0
156.58774563947273
12528628.222995257
ValueError: math domain error
8. sqrt(x): 返回x的平方根,浮点型
import math
print(math.sqrt(100))
print(math.sqrt(45))
print(math.sqrt(3.8))
10.0
6.708203932499369
1.9493588689617927
9. 常数
- math.pi: 圆周率
- math.e: 自然对数底
- math.inf: 无穷大
- math.nan: 非数字
import math
print(math.pi)
print(math.e)
print(math.inf)
print(math.nan)
3.141592653589793
2.718281828459045
inf
nan
10. python内置数学函数
- abs(x): 返回数字的绝对值, math.fabs() 函数只适用于浮点和整型,而 abs() 也适用于复数,复数的绝对值是对复数取模abs(x+yJ)= math.sqrt(x**2+y**2)
import math
print(abs(1.0 - 2.2j))
print(math.sqrt(1+2.2**2))
2.4166091947189146
2.4166091947189146
- round(x, n=0): 返回浮点数 x 的四舍五入值,准确的说保留值将保留到离上一位更近的一端(四舍六入)。n表示以小数点后n位数计算,默认值为 0。
print(round(2.6))
print(round(2.3456, 3))
print(round(1.5), round(2.5))
3
2.346
2 2
注意:为何1.5和2.5四舍五入之后都等于2?
round()函数是返回距离两端更近的一端。1.5离两端1和2的距离相同,2.5离两端2和3的距离相同。在Python3中,如果距离两边一样远,会保留到偶数的一边。所以round(1.5)和round(2.5)都会保留到2。
round()计算并不精确,对于精确度要求较高的场景,使用decimal模块
- pow(x, y[, z]): math.pow()函数会把参数转换为浮点型,而内建的pow()把参数直接作为整型,因此,在使用大整数时,math.pow()可能会出现误差。
print(math.pow(51, 10) % 1001)
print(pow(51, 10) % 1001)
723.0
716
- max(x1,x2,...): 返回序列中的最大值
- min(x1,x2,...):返回序列中的最小值