Python程序设计基础
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.2.1 数字

Python的数字有4种数据类型:整数(int)、浮点数(float)、布尔值(bool)、复数(complex)。使用内置函数type(object)可以返回object的数据类型。内置函数isinstance(obj, class)可以用来测试对象obj是否为指定类型class的实例,例如:

也可以使用isinstance()函数来判断某个对象是否属于某个类型,例如:

1.整数

整数是不带小数部分的数字,如100、0、-273。和其他大多数编程语言不同,Python的整数没有长度限制,甚至可以书写和计算有几百位数字的大整数。例如:

Python整数的书写支持4种数制:十进制、二进制、八进制和十六进制。十进制数直接用默认方式书写,而后三种数制需要特殊的前缀,分别是0b、0o、0x,其中的字母也可以用大写字母。在十六进制数中,使用A~F这6个字母来代表十进制数10~15,换成小写字母a~f也是一样的。例如:

2.浮点数

浮点数是带小数的数字,如4.、.5、-2.7315e2。其中4.相当于4.0,.5相当于0.5,-2.7315e2是科学计数法,相当于-2.7315×102,即-273.15。

所谓“浮点”(floating-point)是相对于“定点”(fixed-point)而言的,即小数点不再固定于某个位置,而是可以浮动的。在数据存储长度有限的情况下,采用浮点表示方法,有利于在数值变动范围很大或者数值很接近0时,仍能保证一定长度的有效数字。

与整数不同,浮点数存在上限和下限。计算结果超出上限和下限的范围会导致溢出错误。例如:

注意:浮点数只能以十进制数形式书写。

需要说明的是,计算机不一定能够精确地表示程序中书写或计算的实数。有两个原因:

●因为存储有限,计算机不能精确显示无限小数,会产生误差;

●计算机内部采用二进制数表示,但是,不是所有的十进制实数都可以用二进制数精确表示。

例如:

3.布尔值

布尔值就是逻辑值,只有两种:True和False,分别代表“真”和“假”。Python 3.x中将True和False定义成了关键字,但实质上它们的值仍是1和0,并且可以与数字类型的值进行算术运算。

下面两个例子比较左右两个值是否相等:

4.复数

复数是Python内置的数据类型,使用1j表示-1的平方根。复数对象有两个属性real和imag用于查看实部和虚部。例如: