整型
整数类型(int)简称整型,它用于表示整数,例如,100、2016等。整型字面值的表示方式有四种,分别是十进制、二进制(以“0B”或“0b”开头)、八进制(以数字“0”开头)和十六进制(以“0x”或“0X”开头)。
Python的整型可以表示的范围是有限的,它和系统的最大整型一致,例如,32位计算机上的整型是32位,可以表示的数的范围是−231~231−1。在64位计算机上的整型是64位的,可以表示的数的范围是−263~263−1。
接下来,看一些整型的示例代码,具体如下:
>>> a = 0b10100
>>> type(a)
<type 'int'>
>>> a
20
上述代码中,第1行代码的变量a的值是一个二进制的整数,它属于int类型,这点在第2~3行代码中得到了验证。第4~5行代码直接输出a的值,结果是十进制的20。十进制的数,如果想转换为二进制、八进制或者十六进制,可以使用指定的函数来完成。示例代码如下:
>>> bin(20) # 将十进制的20转为二进制
'0b10100'
>>> oct(20) # 将十进制的20转为八进制
'o024'
>>> hex(20) # 将十进制的20转为十六进制
'0x14'
多学一招:长整型
长整型(long)是整型的超集,它可以表示无限大的整数(实际上只受限于计算机的虚拟内存大小)。长整型字面值的后面带有字母“L”或“l”(推荐使用大写的“L”)。长整型与整型的操作完全相同。示例代码如下:
>>> a = 10000000000*10000000000
>>> a
a = 10000000000*10000000000
>>> type(a)
<type 'long'>
从长远来看,整型与长整型正在逐步统一为一种整型类型。从Python 2.3开始,再也不会报整型溢出错误,结果都会被自动转换为长整型,现在两种整型类型可以说是无缝结合,长整型后缀“L”变得可有可无。