Python语言可以很方便的用于处理数值运算问题,在数值运算过程中,常见的额两种数据类型分别为整数类型(int)和浮点类型(float)。
整数类型(int)是表示整数的数据类型。与其他计算机语言有精度限制不同,Python中的整数位数可以为任意长度(只受限制于计算机内存)。整型对象是不可变对象。
浮点类型(float)是表示实数的数据类型。与其他计算机语言的双精度(double)和单精度(float)对应,Python中的浮点类型精度与系统相关。
Python语言中内置的数值运算操作符和函数支持对数值进行常见的数学运算。
常见的内置数值运算操作符:
操作符 | 描述 |
---|---|
+ | 加法 |
- | 减法 |
* | 乘法 |
/ | 实数除法 |
// | 整数除法,向下取整 |
% | 取余数 |
** | 乘方 |
在这里要注意的是:
在乘法运算中,* 不可以省略,在书写表达式的时候要和数学中的写法相区别。例如语句:m = 4ab,必须写成:m = 4 * a * b。
基本的使用方式如下:
复合赋值运算符
所有二元运算符(+、-、、/、//、%、**)都可以跟赋值运算符结合在一起,形成复合赋值运算符(+=、-=、=、/=、//=、%=、**=),复合赋值运算符中间不可有空格。若a和b为操作数,则a += b,等价于a = a + b;a *= b,等价于a = a * b。
a=1.5
b=2
a+=b #等价于a=a+b
常见的内置数值运算函数
函数 | 描述 |
---|---|
abs(x) | 求x绝对值 |
divmod(x,y) | 求x//y,x%y |
pow(x,y[,z]) | z可省略,若无,则计算x**y,若有,则计算(x ** y)%z |
round(x[,n]) | 对x进行四舍五入,若无n,取整数,若有n,保留n位小数 |
max(x1,x2,x3,…,xn) | 获取x1,x2,x3,…,xn中的最大值 |
min(x1,x2,x3,…,xn) | 获取x1,x2,x3,…,xn中的最小值 |
在这里要注意的是:
在pow(x,y[,z]) 中,若z存在,则x,y必须为整数,否则会抛出异常。
基本的使用方式如下:
Python数学计算的标准函数库math,提供了4个数学常数和44个函数。math库仅支持整数和浮点数运算,第三方库的使用需要import进行导入。
以使用math库中的常数e为例,导入方式有两种:
math库中的常见常数:
常数 | 描述 |
---|---|
pi | 圆周率 |
e | 自然对数 |
inf | 正无穷大 |
nan | 非浮点数标记 |
math库中的常见函数:
函数 | 描述 |
---|---|
fabs(x) | 求x绝对值 |
fmod(x,y) | 求x%y |
gcd(x,y) | 求x和y的最大公约数,x和y为整数 |
trunc(x) | 求x的整数部分 |
modf(x) | 求x的小数和整数部分 |
ceil(x) | 向上取整,求不小于x的最小整数 |
floor(x) | 向下取整,求不大于x的最大整数 |
factorial(x) | 求x的阶乘,x为整数 |
pow(x,y) | 求x的y次幂 |
exp(x) | 求e的x次幂 |
sqrt(x) | 求x的平方根 |
log(x[,n]) | 求x的对数值,若无n,求lnx |
log2(x) | 求x的2对数值 |
log10(x) | 求x的10对数值 |
sin(x) | 求x的正弦函数值 |
cos(x) | 求x的余弦函数值 |
tan(x) | 求x的正切函数值 |
asin(x) | 求x的反正弦函数值 |
acos(x) | 求x的反余弦函数值 |
atan(x) | 求x的反正切函数值 |