前言
上一篇文章我们讲了字符串的函数与格式化,本篇文章讲解基本数字类型的操作符与函数,先把难的讲了,在来说下简单的数字类型就行如流水了
一.基本运算操作符
在数学上有加减乘除四则运算法则,在Python里也对应于数学上面的,除了四则运算外还有三个高级点的操作符是整除、求模(求余数)和求次幂(求次方),看如下表格
操作符 | 功能 |
---|---|
X + Y | X与Y的和,X加上Y |
X - Y | X与Y的差,X减去Y |
X * Y | X与Y的积,X乘以Y |
X / Y | X与Y的商,X除以Y |
X // Y | X与Y的整数商,X整除以Y |
X % Y | X与Y的模,X除以Y的余数 |
X ** Y | X的Y次方,X^Y |
以上都是两个变量或多个变量之间的运算,当然一个变量也有操作符用+X代表正的X,-X代表负的X
如果彼此运算的变量之间不是相同的数据类型,这时候存在着一种逐渐扩展的关系:整数 -> 浮点数 -> 复数,因为由实数和虚数构成的复数里的,实数和虚数都是浮点数,把浮点数的小数点去掉是整数;反过来也一样,可以看成整数加上小数点类似于浮点数,浮点数类似于复数的实数部分,加上虚数部分构成复数
基本运算规程如下:
整数之间运算,如果数学意义上上结果是小数,结果是浮点数,例如:10/3=3.333
整数之间运算,如果数学意义上上结果是整数,结果是整数,如:4/2=2
整数和浮点数混合运算,输出结果是浮点数
整数或浮点数与复数运算,输出结果是复数
#加减乘除运算
print(3+1.2)
print(2-(1.2+4.1j))
print(1.6*2)
print(10/3)
#整除和求次方
print(10//3)
print(2**3)
输出
4.2
(0.8-4.1j)
3.2
3.3333333333333335
3
8
X与Y的除法与整除之间是不一样的,除法/结果有小数位,整除//结果只保留整数位
最后一个求余数运算,标准是叫模运算,这个可以用来判断奇偶数或求最大公约数等等,可以说是功能较为强大的运算操作符
#判断奇偶数
print(3%2)
print(4%2)
输出
1 #3%2=1 3为奇数
0 #4%2=0 4为偶数
还有一种对应的增强赋值操作符(+=、-=、*=、/=、//=、%=、**=),用法是先运算再赋值(理解为从左到右执行语句),例如:
a=1
b=3
a+=b #等于a = a + b
print(a)
输出
4
模运算(%)在编程中十分常用,主要应用于有周期规律的场景。例如,一个星期7天,用day代表日期,则day%7可以表示星期;对于一个整数n,n%2的取值是0或者1,可以判断整数n的奇偶。本质上,整数的模运算n%m能够将整数n映射到[0,m-1]的区间中
二.内置运算函数
Python给出几个常用的内置函数
函数 | 描述 |
---|---|
abs(x) | 返回X的绝对值 |
divmod(x,y) | 返回(x//y,x%y)(整除,求余),输出为二元组形式(元组类型) |
pow(x,y[,z]) | 返回x的y次方,结果与z求模,如果省略z参数,就和x**y一样 |
round(x[,ndigits]) | 对x四舍五入,保留ndigits位小数,round(x)返回四舍五入的整数值 |
max(X1,X2,······,Xn) | 返回(X1,X2,······,Xn)的最大值,多少个参数都行n没有限制 |
min(X1,X2,······,Xn) | 返回(X1,X2,······,Xn)的最小值,n没有限制 |
#求绝对值
print(abs(-2))
#求除模
print(divmod(10,3))
#求次方
print(pow(2,100,1000))
print(pow(2,3))
#求四舍五入
print(round(4.6))
print(round(4.7236,3))
#求最大值和最小值
max(24,67,43,34)
min(51,98,87,12)
输出
(3, 1)
376
8
5
4.724
67
12
接下来介绍三种内置的转换类型函数
函数 | 功能 |
---|---|
int(x) | 返回整数的x,把x转换为整数,x可以是浮点数或字符串 |
float(x) | 返回浮点数的x或字符串x对应的整数类型 |
complex(real[,imag]) | 返回一个复数,实部为real,虚部为imag,real可以是整数、浮点数或字符串,imag可以是整数或浮点数(如果real是字符串,imag不能有参数) |
print(int(6.8))
print(float((3-5j).imag)) #.imag是获得虚数部分
print(complex(5.3))
输出
6
-5.0
(5.3+0j)