5.1 数字简介

数字提供了标量贮存和直接访问。它是不可更改类型,也就是说变更数字的值会生成新的对象。当然,这个过程无论对程序员还是对用户都是透明的,并不会影响软件的开发方式。

Python支持多种数字类型:整型、长整型、布尔型、双精度浮点型、十进制浮点型和复数。

5.1.1 如何创建数值对象并用其赋值(数字对象)

创建数值对象和给变量赋值一样同样简单。

anInt = 1

aLong = -9999999999999999L

aComplex = 1.23+4.56J

5.1.2 如何更新数字对象

通过给数字对象(重新)赋值,您可以“更新”一个数值对象。我们之所以给更新这两个字加上引号,是因为实际上并没有更新该对象的原始数值。这是因为数值对象是不可改变对象。Python的对象模型与常规对象模型有些不同。你所认为的更新实际上是生成了一个新的数值对象,并得到它的引用。

在学习编程的过程中,我们一直接受这样的教育:变量就像一个盒子,里面装着变量的值。在Python中,变量更像一个指针指向装变量值的盒子。对不可改变类型来说,你无法改变盒子的内容,但可以将指针指向一个新盒子。每次将另外的数字赋给变量的时候,实际上是创建了一个新的对象并把它赋给变量(不仅仅是数字,对于所有的不可变类型,都是如此)。

anInt +=1

aFloat = 2.718281828

5.1.3 如何删除数字对象

按照Python的法则,你无法真正删除一个数值对象,你仅仅是不再使用它而已。如果你确实想删除一个数值聰的引用,使用del语句即可(参见3.5.6小节)。删除对象的引用之后,你就不能再使用这个引用(变量名),除非你给它赋一个新值。如果试图使用一个已经被删除的对象引用,会引发NameError异常。

del anInt

del aLong, aFloat, aComplex

好了,既然你已经了解如何创建和更新数值对象,那么来看一下Python的4种主要数字类型。