三种数据类型之间存在一种逐渐“扩展”或者称之为“变宽”的关系,及整数 <= 浮点数 <= 复数。当在进行运算时,整数+浮点数=浮点数,数据类型会向“更宽”扩展。
1,整数类型
(1)与数学中的整数的概念一致。
——可正可负,没有取值范围的限制
——pow(x, y)函数,计算x的y次方,心有多大就能计算多大
>>>pow(2, pow(2, 15))
>>>14154610310449547890015530277449516013481307114723881672343857482723666342408452535960253564766484150754758729616561264923898085795447378488819382962508731917439277……
(2)四种进制表示形式。
——二进制,以0b或0B开头:0b010,-0B101
——八进制,以0o或0O开头:0o123,-0O789
——十进制:3459,908,-234
——十六进制,以0x或0X开头:0x9a,-0X78
2,浮点数类型
(1)与数学中实数的概念一致。
——带有小数点及小数的数字
——浮点数取值范围和小数精度都存在限制,但常规计算可以忽略
——取值范围数量级约-10的307次方至308次方,精度数量级10的-16次方
(2)浮点数运算存在不确定尾数,但并不是bug。
>>>0.1 + 0.2
>>>0.30000000000000004
计算机进行计算,需要将十进制转化为二进制,计算出结果后,再将而二进制转化为十进制。二进制表示小数,可以无限接近,但并不完全相同故可能存在不确定尾数,及输入0.1+0.2==0.3输出False的情况。
(3)浮点数运算常用round()函数进行辅助。
——round(x, y):对x进行四舍五入,d是截取的小数位数
——不确定尾数一般发生在10的-16次方左右,round()函数十分有效
>>>ronnd(0.1+0.2,1)
>>>0.3
(4)浮点数可以采用科学计数法表示。
——使用字母e或E作为幂的符号,以10为基数
3,复数类型
(1)与数学中的复数的概念一致。
——定义j^2 = -1,以此为基础,构建数学体系
——a+bj被定义为复数,a为实部,b为虚部
(2)z.real 获得实部
z.imag 获得虚部
4,数值运算操作符
(1)操作符是完成运算的一种符号体系。
(2)二元操作符又对应的增强赋值操作符。
5,数值运算函数
一些以函数的形式提供的数值运算功能。