小白编程
亮色模式 暗色模式 跟随系统
首页 Python

如何在 Python 中使用数字类型:整数和浮点数

发布日期:

在 Python 编程中,经常使用数(number)来记录得分,表示可视化数据,存储信息等等。Python 根据不同的使用场景,对数字进行多样化的处理。由于整数(integer)的操作简单直观,我们首先来探讨 Python 是如何处理整数的。

整数

在 Python 中,整数(integer)支持基本的算术运算,包括加法(+)、减法(-)、乘法(*)和除法(/)。

1
2
3
4
5
6
7
8
>>> 2 + 3
5
>>> 3 - 2
1
>>> 2 * 3
6
>>> 3 / 2
1.5

Python 在终端会话中直接返回这些运算的结果。对于乘方运算,Python 使用两个星号(**)来表示:

1
2
3
4
5
6
>>> 3 ** 2
9
>>> 3 ** 3
27
>>> 10 ** 6
1000000

此外,Python 遵循运算顺序规则,允许在单个表达式中使用多种运算。通过使用括号,可以改变运算的顺序,使 Python 按照指定的方式执行计算:

1
2
3
4
>>> 2 + 3*4
14
>>> (2 + 3) * 4
20

在这些示例中,空格的使用不会影响 Python 计算表达式的结果。它们的主要作用是提高代码的可读性,帮助你快速识别哪些运算会优先执行。

浮点数

Python 将带小数点的数称为浮点数(float)。大多数编程语言使用了这个术语,它指出了这样一个事实:小数点可出现在数的任何位置上。每种编程语言都必须细心设计,以妥善地处理浮点数,确保不管小数点出现在什么位置上,数的运算都是正确的。

在大多数情况下,使用浮点数时无须考虑其行为。你只需输入要使用的数,Python 通常会按你期望的方式处理它们:

1
2
3
4
5
6
7
8
>>> 0.1 + 0.1
0.2
>>> 0.2 + 0.2
0.4
>>> 2 * 0.1
0.2
>>> 2 * 0.2
0.4

需要注意的是,浮点数运算的结果可能会包含不确定的小数位数:

1
2
3
4
>>> 0.2 + 0.1
0.30000000000000004
>>> 3 * 0.1
0.30000000000000004

所有编程语言都存在这种问题,没有什么可担心的。Python 会尽力找到一种精确地表示结果的方式,但鉴于计算机内部表示数字的方式,这在有些情况下很难。就现在而言,暂时忽略多余的小数位数即可。

整数和浮点数

在 Python 中,任何两个数相除的结果总是浮点数,即使这两个数都是整数且能够整除:

1
2
>>> 4/2
2.0

在任何运算中,只要有一个操作数是浮点数,即使另一个操作数是整数,结果也总是浮点数:

1
2
3
4
5
6
>>> 1 + 2.0
3.0
>>> 2 * 3.0
6.0
>>> 3.0 ** 2
9.0

在 Python 中,任何包含浮点数的操作,其结果默认为浮点数,即使结果原本是一个整数。

数中的下划线

在书写大数字时,可以使用下划线来分组数字,以提高可读性:

1
>>> universe_age = 14_000_000_000

当你打印这种包含下划线的数字时,Python 不会显示下划线:

1
2
>>> print(universe_age)
14000000000

Python 在存储这种数字时会忽略其中的下划线。下划线用于数字位的分组,即使不是每三位一组,也不会影响数字的值。在 Python 中,1000、1_000 和 10_00 都是等价的。这种表示法适用于整数和浮点数。

同时给多个变量赋值

可以在一行代码中给多个变量赋值,这有助于简化程序并提高其可读性。这种方法常用于将一系列值赋给一组变量。

例如,下面演示了如何将变量 x、y 和 z 都初始化为零:

1
>>> x, y, z = 0, 0, 0

在这样做时,需要用逗号分隔变量名和要赋给变量的值。Python 将按顺序将每个值赋给对应的变量。只要变量的数量和值的数量相同,Python 就能正确地将变量和值关联起来。

常量

常量(constant)是在程序的整个生命周期内都保持不变的值。虽然 Python 没有内置的常量类型,但程序员会约定俗成地使用全大写字母来表示某个变量应被视为常量,其值不应改变:

1
MAX_CONNECTIONS = 5000

在代码中,通过将变量名全大写来指出应将特定的变量视为常量。

相关文章