本课介绍Python中的数字类型,课中会讨论整型、浮点型、布尔型和复数类型。通过本课的学习,可以掌握数字类型的使用。
认识数字类型
数字类型是数值型数据,支持整数、浮点、布尔类型和复数。数值型即数值数据,用于表示数量,并可以进行数值运算。数值型数据由整数、小数、布尔值和复数组成,分别对应整型类型、浮点类型、布尔类型和复数类型。

创建数字对象并对其赋值
创建数字对象和创建变量语法相同,在创建数字对象的同时,可以直接给数字对象赋值。

更改数字对象的值
通过给已创建的数字对象赋予一个新值,可以“变更”一个数字对象。这里所指的“变更”并没有更新该对象的原始数值,而是生成了一个新的数字对象,并返回这个数字对象的内存地址。数字对象是不可改变的对象,当程序更新一个数数字对象时,Python会创建一个新的数字对象,并将该数字对象的内存地址返回给变量。

用于处理数字对象的内置函数
数字对象可以参与所有算术运算符的运算。同时,Python也提供了一些内置函数对数字对象进行运算,提供的内置函数如下表所示。

整数类型
Python的整数类型与另外一些编程语言表示的整数类型不太相同,一些编程语言整数的取值范围与机器位数有关,例如,在32位机器上,整数的取值范围约是-2^31到2^31,在64位的机器上整数的取值范围约是-2^63到2^63。而Python的整数能表示的数值仅与机器支持的内存大小有关,也就是说Pyhton可以表示很大的数,可以超过机器位数所能表示的数值范围。

案例03创建了整数对象a、b、c、d、e,并分别进行了赋值。
整数类型的附加方法
整数类型也提供了其它几个方法,主要方法介绍如下。
方法声明:
bit_length()
返回以二进制表示一个整数所需要的位数,不包括符号位和前面的零。
案例代码:
>>> num = -37
>>> bin(num)
'-0b100101'
>>> num.bit_length()
6
>>>
方法声明:
to_bytes(length, byteorder,*, signed=False)
返回表示一个整数的字节数组。如果整数不能用给定的字节数来表示则会引发 OverflowError异常。
参数length表示需要返回几个字节数组;参数byteorder确定用于表示整数的字节顺序,如果 byteorder 为 "big",则最高位字节放在字节数组的开头,如果 byteorder 为 "little",则最高位字节放在字节数组的末尾;参数signed 采用默认值即可。
案例代码:
>>> num = 12
>>> num.to_bytes(3,"big")
b'\x00\x00\x0c'
>>>
浮点类型
Python中的浮点类型类似Java语言中的double 类型,是双精度浮点型,可以直接用十进制或科学计数法表示。十进制数形式,由数字和小数点组成,且必须有小数点,如0.123、12.85、26.98等;科学计数法形式,如:2.1E5、3.7e-2等。其中e或E之前必须有数字,且e或E后面的指数必须为整数。
精度是指描述一个数值的准确程度,在数学运算中,经常会用到近似数,近似数与原数值非常相近,但又不完全符合原数值,只能说在某种程度上近似。精度与近似数相似,也是用一个与原数值非常相近的数代替原来的数值。

案例04分别创建了a、b、c、d、e浮点对象。
浮点类型的附加方法
浮点类型也提供了其它几个方法,主要方法介绍如下。
方法声明:
as_integer_ratio()
返回一对整数,其比率正好等于原浮点数并且分母为正数。
案例代码:
>>> pi = 2.0
>>> pi.as_integer_ratio()
(2, 1)
>>>
方法声明:
is_integer()
如果浮点对象的值可用有限位整数表示则返回 True,否则返回 False。
案例代码:
>>> pi = 3.14
>>> pi.is_integer()
False
>>> num = 2.0
>>> num.is_integer()
True
>>>
布尔类型
布尔类型属于整数类型的子类型,用于表示逻辑状态,逻辑状态只有真和假两个值,True表示真值, False 表示假值,任何非 0 数字都为 True。所以,在一定意义上可以把 布尔类型看成整数类型。

案例05分别创建了bOK、bSucess、bCancel布尔对象。
Python判断一个值或对象的真假时,值或对象若为0、None、False,则这个值和对象为假,否则这个值和对象为真。
None是Python预定义的关键字,也是Python定义的内置常量,它表示一个空值。
复数类型
复数是一个实数和虚数的组合,一个复数是一对有序浮点型(x,y),表示为x+yj,其中x是实数部分,y是虚数部分。
复数在科学计算中得到广泛应用。Python语言支持复数类型,下面是Python语言有关复数的几个概念。
(1)虚数不能单独存在,它总是和一个值为0.0的实数部分构成一个复数;
(2)复数由实数部分和虚数部分构成;
(3)实数部分和虚数部分都是浮点型;
(4)虚数部分后面必须有j或J。

案例06演示了复数对象的创建及其加法运算。