存在三种不同的数字类型: 整数, 浮点数 和 复数。 此外,布尔值属于整数的子类型。 整数具有无限的精度。 浮点数通常使用 C 中的 double 来实现;有关你的程序运行所在机器上浮点数的精度和内部表示法可在 sys.float_info
中查看。 复数包含实部和虚部,分别以一个浮点数表示。 要从一个复数 z 中提取这两个部分,可使用 z.real
和 z.imag
。 (标准库包含附加的数字类型,如表示有理数的 fractions.Fraction
以及以用户定制精度表示浮点数的 decimal.Decimal
。)
数字是由数字字面值或内置函数与运算符的结果来创建的。 不带修饰的整数字面值(包括十六进制、八进制和二进制数)会生成整数。 包含小数点或幂运算符的数字字面值会生成浮点数。 在数字字面值末尾加上
Python 完全支持混合运算:当一个二元算术运算符的操作数有不同数值类型时,"较窄"类型的操作数会拓宽到另一个操作数的类型,其中整数比浮点数窄,浮点数比复数窄。不同类型的数字之间的比较,同比较这些数字的精确值一样。
构造函数 int()
、 float()
和 complex()
可以用来构造特定类型的数字。
所有数字类型(复数除外)都支持下列运算'j'
或 'J'
会生成虚数(实部为零的复数),你可以将其与整数或浮点数相加来得到具有实部和虚部的复数。
运算 | 结果: | 备注 | 完整文档 |
| x 和 y 的和 | ||
| x 和 y 的差 | ||
| x 和 y 的乘积 | ||
| x 和 y 的商 | ||
| x 和 y 的商数 | (1) | |
| | (2) | |
| x 取反 | ||
| x 不变 | ||
| x 的绝对值或大小 | abs() | |
| 将 x 转换为整数 | (3)(6) | int() |
| 将 x 转换为浮点数 | (4)(6) | float() |
| 一个带有实部 re 和虚部 im 的复数。im 默认为0。 | (6) | complex() |
| 复数 c 的共轭 | ||
| | (2) | divmod() |
| x 的 y 次幂 | (5) | pow() |
| x 的 y 次幂 | (5) |