2.2.1 数值类型

2.2.1 数值类型

数值(Number)类型,在Python中也被称为数字类型。

1.数值类型

Python中的数值类型有4种:int(整型)、float(浮点型)、complex(复数型)和bool(布尔型)。Number类型属于不可变数据类型。

(1)int(整型)

整型数据可以是正整数或负整数,无小数点。Python 3中的整型数据只有一种,即int。在32位操作系统中,整数的位数为32位,取值范围为-231~231-1;在64位操作系统中,整数的位数为64位,取值范围为-263~263-1。

整型数据有以下4种表现形式。

1)十进制整数:平时整数的写法,使用10个数字0、1、2、3、4、5、6、7、8、9表示整数。例如,-3,0,99,10000。

2)二进制整数:以0b开头,使用2个数字0、1表示整数。例如,0b1101,0b01101011。

3)八进制整数:以0o开头,使用8个数字0、1、2、3、4、5、6、7表示整数。例如,0o67,0o235。

4)十六进制整数:以0x开头,使用16个数字0、1、2、3、4、5、6、7、8、9、a、b、c、d、e、f表示整数。例如,0x10f9,0xa5e7b。

这4种进制的数据通过函数int()、bin()、oct()、hex()转换显示。

例2-5】 在IDLE中,以交互方式把100、99999999999999999999999999999999整数,分别用十进制、二进制、八进制和十六进制显示。在IDLE中的运行结果如图2-5所示。

图2-5 整数的显示

(2)float(浮点型)

浮点型数据由整数部分和小数部分组成,就是带有小数点的数。在计算机中用于近似表示某个实数。之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的。在表示很大或很小的浮点数时必须使用科学记数法表示,把10用e替代。

例2-6】 在IDLE中,以交互方式显示不同大小的浮点数,如图2-6所示。

图2-6 浮点数的显示

只要涉及浮点数的运算,其结果必为浮点型。float类型存放双精度的浮点数,计算后一般精确到小数点后16位,由于精度受限,进行相等性比较不可靠。

如果需要高精度,可使用decimal模块的decimal.Decimal()函数,这种类型可以准确地表示循环小数,但是处理速度较慢,适合用于财务计算。

(3)complex(复数型)

Python中的复数与数学中复数的表示形式一致,都是由实部和虚部两部分构成,并且用j或J表示虚数部分,用a+bj或者complex(a,b)表示,复数的实部a和虚部b都是浮点型数据。例如,2+6.5j,5.81+7.69j。

(4)bool(布尔型)

布尔型数据的运算结果是常量True或False(注意True和False的首字母大写),它的值分别是1和0,可以与数值型数据运算。对于bool型的值,非0值表示布尔真,0或空值表示布尔假。例如,bool(1)、bool('abc')、bool(True)、bool("")、bool(12)表示True;bool(0)、bool("")、bool(None)、bool(False)表示False。

2.数值对象的创建

创建数值对象非常简单,只须按需要的数值类型写出该数字。例如,20、12.5、3+5j、False。

3.转换数值类型

如果要转换不同的数值类型,可以采用下面的方法。

1)通过float()函数可以将int型数据强制转换成float()型数据。

2)通过int()函数可以将float型数据强制转换成int型数据。

如果要查看数据的数据类型,使用下面的函数。

1)type()函数可以返回指定值或变量的数据类型。

2)isinstance()函数可以判断指定值或变量是否为给定的数据类型。

例2-7】 在IDLE中,以交互方式显示数值类型及转换测试,如图2-7所示。

图2-7 数值类型及转换测试