跳到主要内容

Python 数字 Number

Python 中所有的数字都是 Nunber 类型。由于 Python 是强类型的动态语言,数据类型是不允许改变的,如果改变了 Number 数据类型的值,将重新分配内存空间。

创建与删除

下面的代码在变量赋值时 Number 对象将被创建:

var1 = 1
var2 = 10

创建的 Number 对象可以使用 del 语句删除其引用。del 可以同时删除单个或多个对象,例如:

del var
del var1, var2

数值类型

Python 支持 4 种不同的数值类型:

类型符号描述
整型int通常被称为是整型或整数,包括正整数或负整数。
在 Python3 中,只有一种整数类型 int,表示为长整型。
浮点型float浮点型由整数部分与小数部分组成,也可以使用科学计数法表示。
布尔值bool布尔值只有 TrueFalse 两种。
复数complex复数由实数部分和虚数部分构成,可以用
a + bj 或者 complex(a,b) 表示。
复数的实部 a 和虚部 b 都是浮点型。

我们可以使用十六进制和八进制来代表整数,例如:

>>> num1 = 0xA0F  # 十六进制
>>> num1
2575
>>> num2 = 0o37 # 八进制
>>> num2
31

数字运算

在 Python 程序中表示数字的方法与数学上的写法几乎一样,我们可以把 Python 解释器当作一个简单的计算器来使用。

在解释器里输入一个表达式,它将输出表达式的值。在算术表达式中可以使用 +-*/ 等符号,例如:

>>> 2 + 2
4
>>> 50 - 5*6
20
>>> (50 - 5*6) / 4
5.0
>>> 8 / 5 # 总是返回一个浮点数
1.6

注意:在不同的机器上浮点运算的结果可能会不一样。

在整数除法中,除法总是返回一个浮点数,如果只想得到整数的结果,丢弃可能的分数部分,可以使用运算符 //。例如:

>>> 17 / 3   # 整数除法返回浮点型
5.666666666666667
>>>
>>> 17 // 3 # 整数除法返回向下取整后的结果
5
>>> 17 % 3 # %操作符返回除法的余数
2
>>> 5 * 3 + 2
17

另外,在 Python 中还可以使用 ** 操作来进行幂运算。例如:

>>> 5 ** 2  # 5 的平方
25
>>> 2 ** 7 # 2的7次方
128