整数和浮点数

到目前为止,所看到的所有数值例子都是整数:int型。但实际上Python上还存在其他数字,我们需要能够用它们来计算以及构建它们。

>>>print(3/4)

0.75

在该示例中,一个整数除以另一个整数,得出一个不是整数的结果,即 0.75。在 Python(和一般计算)中,我们将此类数字称为浮点数(float),其英文全称是 floating-point number。

即使 :一个整数可以整除另一个整数,其结果也将是一个浮点数

>>>print(16/4)

4.0

[注意:这是 Python 3 的代码。Python 以前版本的概念不一样 —— 在 Python 2 中,一个整数除以另一个整数将产生一个 int,即使预期的结果不是整数!Python 2 的这个概念与 Python 3 中的整数除法 (//) 类似。我们在本课程中使用 Python 3。]

一个整数和一个浮点数的运算将生成一个浮点数。

>>> 3 + 2.5

5.5

要生成一个整数,只要给出一个没有小数点的整数即可。下面是一个整数:

>>> 387

如需要生成一个浮点数,包括一个小数点即可!如果数字本身是一个整数,也没关系,甚至不必在小数点之后添加任何内容。以下为几个浮点数:

>> 213.13

>> 341.

有时可能需要手动将一个数值类型转换为另一个数值类型,这可通过 int() 和 float() 构造这些类型的新对象来实现。

>>> int(49.7)

49

>> int(16/4)

4

>>> float(3520+3239)

6759.0

将一个浮点数转换成整数时,小数点后的部分会被去除。

所以我们看到Python具有两个主要的数值类型——整数(int)和浮点数(float)。那么这两种数值类型有什么用处呢?

int —— 大家可能经常需要对物品进行计数,或者需要一个整数的计算结果。int 类型在这方面正好可以派上用场。

float —— 如果你正在使用的数字不一定是一个整数,那么 float 可能就是你需要的类型!

浮点数是它们应该代表的数字的近似值。这是很有必要的,因为浮点数可以表示很大范围内的数字,所以为了在计算机内存中存储数字,Python 必须使用近似值。这个权衡有时会产生惊人的结果:

>>> print(0.1)

0.1

>>> print(0.1 + 0.1 + 0.1)

0.30000000000000004

因为 0.1 的浮点数(即近似值)实际上略超过 0.1,所以当我们将其中几个值加到一起时,可以看到数学上的正确答案与 Python 所创建答案之间的区别。大多数情况下,这些小差异无关紧要,但了解这些差异的存在很重要!