0101 84 -237 0x80 017 -680 -0X92
Python标准整数类型等价于C的(有符号)长整型。整数一般以十进制表示,但是 Python也支持八进制或十六进制来表示整数。如果八进制整数以数字“0”开始, 十六进制整数则以“0x”或“0X”开始。
1.3 长整型
关于Python长整数类型我们必须要提的是,请不要将它和C或其它编译型语言的长整数类型混淆。那些语言的长整数典型的取值范围是32位或64位。Python的长整数类型能表达的数值仅仅与你的机器支持的(虚拟)内存大小有关,换句话说,Python 能轻松表达很大很大很大的整数。长整数类型是标准整数类型的超集,当你的程序需要使用比标准整数类型更大的整数时,长整数类型就有用武之地了。在一个整数值后面加个 L(大写或小写都可以),表示这个整数是长整数。这个整数可以是十进制,八进制,或十六进制。下面是一些长整数的例子:
16384L -0x4E8L 017L -2147483648l 052144364L
299792458l 0xDECADEDEADBEEFBADFEEDDEAL -5432101234L
Edit By Vheavens
Edit By Vheavens
核心风格:用大写字母 “L”表示长整数,目前整型和长整型正在逐渐缓慢的统一,您只有在对长整数调用repr()函数时才有机会看到“L”,如果对长整数对象调用 str()函数就看不到 L。举例如下:
>>> aLong = 999999999l
>>> aLong
999999999L
>>> print aLong
999999999
1.4 整型和长整型的统一
这两种整数类型正在逐渐统一为一种。在 Python 2.2 以前,标准整数类型对象超出取值范围会溢出(比如上面提到的大于 232 的数),但是从 Python2.2 以后就再也没有这样的错误了。
>>> 9999 ** 8
Traceback (most recent call last):
File "<stdin>", line 1, in ?
OverflowError: integer exponentiation
Python 2.2
>>> 9999 ** 8
99920027994400699944002799920001L
双精度浮点数
Python中的浮点数类似C语言中的double类型,是双精度浮点数,可以用直接的十进制或科学计数法表示。每个浮点数占8个字节(64比特),完全遵守IEEE754号规范(52M/11E/1S),其中52个比特用于表示底,11个比特用于表示指数(可表示的范围大约是正负 10 的 308.25次方),剩下的一个比特表示符号。这看上去相当完美,然而,实际精度依赖于机器架构和创建 Python 解释器的编译器。浮点数值通常都有一个小数点和一个可选的后缀e(大写或小写,表示科学计数法)。在e和指数之间可以用正(+)或负(-)表示指数的正负(正数的话可以省略符号)。下面是一些典型的浮点数值的例子:










