
3.2 数字类型

↑扫码看视频
数字类型Numbers用于表示变量或对象的数值。从Python 3开始,只支持int、float、bool、complex(复数)共计4种数字类型,删除了Python 2中的Long(长整数)类型。在本节中,将详细讲解int、float、bool、complex(复数)这4种数字类型的基本知识。
3.2.1 整型
整型(int)就是整数,没有小数点,包括正整数、负整数和零。在Python语言中,可以使用如下格式来表示不同进制的整数。

在现实应用中,有如下4种常用的进制标志。
● 0o[00]数字:表示八进制整数,例如:0o24、0O24)。
● 0x[OX]数字:表示十六进制整数,例如:0x3F、0X3F。
● 0b[OB]数字:表示二进制整数,例如:0b101、0B101。
● 不带进制标志:表示十进制整数。
整型的最大功能是实现数学运算,例如下面的演示过程。

3.2.2 浮点型
浮点型(float)由整数部分与小数部分组成。也可以使用科学计数法表示浮点型,例如2.5e2=2.5×102=250。按照科学计数法表示时,浮点数的小数点位置是可变的,比如,1.23e9和12.3e8的值是相等的。浮点数一般采用常规写法,如1.23,3.14,-9.01等。但是对于很大或很小的浮点数,就建议采用科学计数法表示,1.23×109可以用1.23e9,或者12.3e8表示,而0.000012可以写成1.2e-5。
整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的(除法也是精确的),而浮点数运算则可能会有四舍五入的误差。
必须注意的是,只有浮点类型的数值才使用科学计数法表示。例如51200是一个整型的值,但512E2则是浮点型的值。
3.2.3 布尔型
布尔类型是表示逻辑值的简单类型,布尔型的取值只有True和False(请注意首字母大写),分别表示逻辑上的“真”或“假”,其返回值分别是“1”和“0”。布尔类型在if、for等控制语句的条件表达式中比较常见,例如if条件控制语句、while循环控制语句、do循环控制语句和for循环控制语句等。
程序中可以直接用True和False表示布尔值,也可以通过布尔运算计算出来,例如下面的演示过程。


布尔值可以用and、or或not进行运算。其中and运算是与运算,只有所有的操作数都为True时,and运算结果才是True,例如下面的演示过程。

or运算是或运算,只要其中有一个操作数为True,or运算的结果就是True,例如下面的演示过程。

not运算是非运算,它是一个单目运算符,能够实现相反的操作运行,即把True变成False,把False变成True,例如下面的演示过程。

条件判断应用中经常使用布尔型,例如下面的演示代码。

3.2.4 复数型
复数型(complex)由实数部分和虚数部分构成,可以用a+bj或者complex(a,b)表示,复数的实部a和虚部b都是浮点型。表3-4列出了int、float和complex的对比。
表3-4 int、float和complex的对比

使用内置的函数type()可以查询变量的数据类型。

实例文件leixing.py的具体实现代码如下所示。

执行后将分别显示4个变量a、b、c、d的数据类型,输出结果如下所示。

注意事项。
● Python可以同时为多个变量赋值,例如“a,b = 1,2”,表示a的值是1,b的值是2。
● 一个变量通过赋值可指向不同类型的对象。
● 数值的除法“/”总是返回一个浮点数,要想获取整数,需要使用“//”操作符。
● 在进行混合计算时,Python会把整数转换成为浮点数。