Python编程
完成条件
Python 2.x 支持四种内置数值类型——int、long、float 和 complex。其中特别需要注意的是,Python 3.x 中已经删除了 long 类型,int 类型现在默认为无限长度。你不需要指定变量的类型,Python 会自动处理。
- Int:Python 中的基本整数类型,等价于你所使用平台上的硬件 ‘c long’ 类型,在 Python 3.x 中其长度是无限的。
- Long:具有无限长度的整数类型。在 Python 2.2 及更高版本中,当整数溢出时,int 会自动转换为 long。在 Python 3.x 中已被移除,使用 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 开始,可以通过 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
有关数字操作的更多内容,请参阅《基础数学》和《数学》章节。
最后修改: 2025年01月30日 星期四 23:17