本章将着重介绍在python语言中会使用到的一些数字类型
一:数字类型
和数学中的数字一样,python语言也将数字进行了分类:整数、浮点数、复数
整数类型
可正可负,没有取值范围
通常定义为int型
整数有4种进制的表示形式:
十进制:1010,99,-217
二进制: 以0b或者0B开头:0b010,0B110
八进制:以0o或者0O开头:0o123,0O567
十六进制:以0x或者0X开头,0x9a, -0X82
举例:
0o123转为10进制为83,0b010转为10进制为2,和为85
0x9a转为10进制为154,0o转为10进制为80,差为74
浮点数类型
·带有小数点及小数的数字
·取值范围非常大,有限但近乎不计
·浮点数运算存在不确定尾数,不是bug,一般在10的负16次方的位置:0.1+0.2=0.3000000000000000005
·使用round()函数做运算结果的范围限制,可以来判断运算结果是否正确:
Round(x,d) : 对x进行四舍五入,d是小数截取的位数
0.1 + 0.2 == 0.3 (False:存在不确定尾数)
round(0.1+0.2 , 1) == 0.3 (True)
浮点数可以采用科学计数法表示:
使用字母e/E作为幂的符号,以10为基数,格式如下:
aeb 表示a*10的b次方 4.3e-3 表示0.0043
复数类型
由于 a的平方==-1而产生
复数是虚部不为0的数,型如a+bj
下图举例说明:
z.real可以获取到z的实部,z.imag可以获取到z的虚部
二:数值运算符
加法:x+y
减法: x-y
乘法:x*y
除法:x/y 得出来的结果为浮点类型,有小数部分
整除:x//y 得出来的结果为整数
取余:x%y 取余数
幂运算:x * *y 对x进行y次幂运算,10**0.5的结果是根号10
三:二元增强赋值形式
x+=y
x-=y
x*=y
x/=y
x//=y
x%=y
x* * =y
以上皆为x= x与y的运算后结果
四:数据类型变化
在python语言中,三种数据类型之间是存在自动转化的,这是一种逐渐扩展或者变宽的关系:
例如:123 + 4.0 =127.0 (整数+浮点数=浮点数)
由于浮点数在运算时会有可能产生不确定尾数,所以要留意数值的数据类型变化
五: 数值运算/(数据转型)函数:
数值运算:
abx(x):绝对值函数abs(-10.01)结果为10.01
divmod(x,y):商余函数,同时输出商和余数(x//y,x%y)
pow(x,y[,z]):幂余,(x**y)%z,[ ]表示参数可省略
round(x[,d]):四舍五入函数,d是保留的小数位数,默认为0
max(x,y,z…):求最大值函数
min(x,y,z…):求最小值函数
数据转换:
将三种数据类型进行相互转变的函数:
转为整形: int(x)
转为浮点型:float()
complex():转为复数,增加虚数部分
这里注意,复数是不能直接转为整数或者浮点数的,必须是针对其实部进行转化
还有一个比较特殊的案例是可以将字符串数字转为整形或者浮点型,但带小数的字符串不能直接转为整形
大大的小小阳