一、概要
Python 中数学运算常用的函数基本都在 math 模块、cmath 模块中。
Python math 模块提供了许多对浮点数的数学运算函数。
Python cmath 模块包含了一些用于复数运算的函数(这块用的比较少)。
cmath 模块的函数跟 math 模块函数基本一致,区别是 cmath 模块运算的是复数,math 模块运算的是数学运算
要使用 math 或 cmath 函数必须先导入:
1 import math
二、详解
1、ceil
说明
对大于等于x的最小整数
方法
1
math.ceil(x)
参数
x
数字类型
返回值
- 返回x的上限整数,如果是浮动型则返回上限,如果是整形则直接返回整形
示例代码
1
2
3
4
5math.ceil(-3.1) # 3
math.ceil(-1) # -1
math.ceil(2.0) # 2
math.ceil(3.1314) # 4
math.ceil(-5.0) # 5
2、floor
说明
得到最接近原数但是小于原数的部分,舍弃小数部分,取整数部分
方法
1
math.floor(x)
参数
x
数字类型
返回值
整数部分
示例代码
1
2math.floor(1.9) # 1
math.floor(-1.9) # -2
3、fabs, abs
说明
获取绝对值fabs 返回float类型,abs是int类型
方法
1
2
3math.fabs(x)
abs(x)参数
x
要处理的值,例如 float,int类型
返回值
返回x的float类型绝对值
示例代码
1
2
3
4
5
6
7math.fabs(-1000)
math.fabs(-1.2)
math.abs(-1)
math.abs(-100)
abs()注意
- fabs需要import math后才能调用,abs可以直接使用
- abs可以用于复数而fabs不可以
- fabs 返回的是float类型,不管是int或者float
- abs 如果是float类型,则返回float类型,如果是int类型就返回int类型
4、modf
说明
x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示
方法
1
math.modf( x )
参数
x
数值类型
返回值
返回x的整数部分与小数部分
示例代码
1
2math.modf(100.12)
math.modf(-10)
5、fmod
说明
取模运算
方法
1
math.fmod(x,y)
参数
x
除数
y
被余数
返回值
返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示
示例代码
1
2
3
4
5
6
7math.fmod(10, 3) # 1.0
math.fmod(104, -3) # 2.0
math.fmod(103, 12) # 7.0
10 % 3 # 1
103 % 12 # 7
103.12 % -1.2 # -0.07999999999999163
math.fmod(103.12, -1.2) # 1.12注意
- y%x运算总是将y/x的值向下取整
- math.fmod(y,x)是将y/x的值向0取整
6、fsum sum
说明
对迭代器里的每个元素进行求和操作
方法
1
2math.fsum(iterable)
sum()参数
iterable
可迭代对象,例如列表,元组
返回值
求和,必须是数字类型
示例代码
1
2
3
4
5
6math.fsum([1, 2, 3, 4])
math.fsum([-1, -2, -3, -4])
math.fsum((1, 2, 3, 4))
# 如果是字典类型注意根据key进行求和
math.fsum({123: '123', 2: '12345'})
sum((1, 2, 3, 4))
7、sqrt
说明
平方根运算
方法
1
math.sqrt(x)
参数
x
数字或者表达式
返回值
返回数字x的平方根
示例代码
1
math.sqrt(5)
8、trunc
说明
截断x的小数部分
方法
1
math.trunc(x)
参数
x
数字部分
返回值
- 在Python2.7版本返回值是浮点数;
- 在python3.5版本是整数
示例代码
1
2math.trunc(1.20000)
math.trunc(-8.01231231)
9、pow
说明
xy(x的y次方) 的值
语法
1
math.pow(x,y)
参数
x
数值表达式。
y
数值表达式。
返回值
(x的y次方) float类型的值
示例代码
1
2
3
4
5math.pow(100, 2) # 10000.0
pow(100, 2) # 10000
math.pow(100, -2) # 0.0001
math.pow(4, 2) : # 16.0
math.pow(3, 0) : # 1.0