Python 编程/数字
外观
Python 2.x 支持 4 种内置数值类型 - int、long、float 和 complex。其中,long 类型在 Python 3.x 中被删除 - int 类型现在默认情况下是无限长度的。您不必指定想要使用哪种类型的变量;Python 会自动执行此操作。
- Int: Python 中的基本整数类型,等效于您在 Python 2.x 中使用的平台的硬件“c long”,在 Python 3.x 中长度无限。
- Long: 长度无限的整数类型。在 python 2.2 及更高版本中,Int 在溢出时会自动转换为 long ints。从 Python 3.0 开始删除,请改用 int 类型。
- Float: 这是一个二进制浮点数。在表达式中使用浮点数以及使用真除法运算符时,Long 和 Int 会自动转换为浮点数。/在 CPython 中,浮点数通常使用 C 语言的double实现,通常会产生 52 位有效数字、11 位指数和 1 位符号位,但这取决于机器。
- Complex: 这是一个由两个浮点数组成的复数。复数文字写成 a + bj,其中 a 和 b 是表示实部和虚部的浮点数。
一般来说,数字类型会按照以下顺序自动“向上转换”
Int → Long → Float → Complex。越往右,优先级越高。
>>> x = 5
>>> type(x)
<type 'int'>
>>> x = 187687654564658970978909869576453
>>> type(x)
<type 'long'>
>>> x = 1.34763
>>> type(x)
<type 'float'>
>>> x = 5 + 2j
>>> type(x)
<type 'complex'>
除法的结果有点令人困惑。在 Python 2.x 中,对两个整数使用 / 运算符将返回另一个整数,使用地板除法。例如,5/2将为您提供 2。至少一个操作数必须是浮点数才能获得真除法,例如5/2.或5./2(点使数字成为浮点数)将产生 2.5。从 Python 2.2 开始,此行为可以通过 future division 语句更改为真除法from __future__ import division. 在 Python 3.x 中,使用 / 运算符的结果始终是真除法(您可以通过使用 // 运算符显式地请求地板除法,因为 Python 2.2 )。
这说明了 / 运算符在 Python 2.2+ 中的行为
>>> 5/2
2
>>> 5/2.
2.5
>>> 5./2
2.5
>>> from __future__ import division
>>> 5/2
2.5
>>> 5//2
2
- 5.4. 数字类型 - int、float、long、complex, docs.python.org