整数和浮点数
到目前为止,所看到的所有数值例子都是整数: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 所创建答案之间的区别。大多数情况下,这些小差异无关紧要,但了解这些差异的存在很重要!
Python 文档对此进行了更多的解释:'https://docs.python.org/3/tutorial/floatingpoint.html'