零基础学Python程序设计
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

3.3 数字类型——浮点数

浮点数也称小数,与数学中的实数概念一致。它由整数部分和小数部分组成,也是人们生活中常用到的数字。例如,2.6、654.264、8.0等这样的数都称为浮点数。下面介绍浮点数的相关知识。

3.3.1 表示形式

我们日常生活中经常听到一些小数。例如,0.5有时为了方便经常被叫作“.5”(点5)。对于这种叫法我们都可以理解。但在Python中,小数不是那么随意表示的,需要遵循严格的形式。在Python中,小数的书写形式有两种,小数形式和指数形式。

1. 小数形式

Python中小数由3部分组成,整数部分、小数点和小数部分,如图3.17所示。

图3.17 小数形式

图中的3部分都不能省略。当小数部分为0时,也不能省略。例如,68.0是小数,但68是一个整数。

【实例3-5】书写有效的小数,并通过输出进行验证。

(1)书写的小数如下:

(2)在交互模式中,输入并执行这些小数后查看结果,如下:

输出结果与编写的小数完全一样。

2. 指数形式

指数形式是指使用科学计数法形式表示小数。科学计数法使用字母e或E作为幂的符号,以10为基数。形式如下:

其中,a表示小数,b表示次幂,为整数。例如,小数123000.0可以表示为1.23E5。

【实例3-6】书写有效的指数,并通过输出进行验证。

(1)书写的指数如下:

(2)在交互模式中,输入并执行这些指数后查看结果,如下:

输出结果表示,自动将指数转换为了浮点数。

3.3.2 浮点数的精确度问题

由于计算机内部的存储问题,不是每个小数都可以精确表示的,所以小数存在精确度问题。在Python中,浮点数的数值范围和小数精度受不同计算机系统的限制。为了更清楚地了解浮点数的精确程度,Python提供了对应的功能,可以详细列出系统支持的浮点数各项参数,通过这些参数可以了解精确程度。

【实例3-7】下面通过代码查看浮点数各项参数。

(1)需要使用的代码如下:

(2)在交互模式中,输入并执行以上代码后查看结果,如图3.18所示。

图3.18 查看浮点数各项参数

输出结果的各项参数含义如下。

❑ max:浮点数类型所能表示的最大值。

❑ max_exp:基数(radix)为2时最大值的幂。

❑ max_10_exp:科学计数法表示下最大值的幂。

❑ min:浮点数类型所能表示的最小值。

❑ min_exp:基数(radix)为2时最小值的幂。

❑ min_10_exp:科学计数法表示下最小值的幂。

❑ dig:能准确计算的浮点数最大个数。

❑ mant_dig:科学计数法表示中系数(<a>)的最大精度。

❑ epsilon:计算机所能分辨的两个相邻浮点数的最小差值。

【实例3-8】验证浮点数的精确度。在在交互模式中,输入浮点数1.234567890123456789,并查看执行结果,如下:

输入的浮点数为1.234567890123456789,共19位,执行结果为1.2345678901234567,共17位。