数字类型
数字类型是自然界计数活动的抽象,更是数学运算和推理表示的基础。计算机对数字的识别和处理有两个基本要求:确定性高效性
确定性:程序能够正确且无歧义的解读数据所代表的类型含义。
高效性:程序能够为数字运算提供较高的计算速度。
Python语言提供整数浮点数复数3种数字类型。
1、整数类型
整数类型共有4种进制表示:十进制、二进制、八进制和十六进制。

进制种类

引导符号

描述

十进制


默认情况,例如5201314(十进制一般不能以0作为开头,除了0)

二进制

0B或0b

由字符0和1组成,例如101010

把进制

0O或0o

由字符0到7组成,例如0o7112

十六进制

0X或0x

由字符0到9、a到f、 A到F组成,例如0XABC

整型理论上的取值范围是[-∞,+∞],实际上的取值范围受限于运行Python程序的计算机内存大小。除了极大数运算外,一般认为整数类型没有取值范围限制。

2、浮点数类型
浮点数类型有两种表示方法:十进制表示和科学计数法表示
浮点数类型例子:
0.0,1.2,-2.17,4.3e-3,9.6E5
科学计数法使用字母E或e作为幂的符号,以10为基数,
函数如下:e=a*10^b

python浮点数的数值范围和小数精度受不同计算机系统的限制。
用sys.float_into详细列出Python解释器所运行系统的浮点数各项参数。
例如:

>>>import sys
>>>sys.float_info
sys.float_info(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308, min=2.2250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsilon=2.220446049250313e-16, radix=2, rounds=1)

上述输出给出浮点数类型所能表示的最大值(max)、最小值(min),科学计数法表示下最大值的幂(max_10_exp)、最小值的幂(min_10_exp),基数(radix)为2时最大值的幂(max_exp)、最小值的幂(min_exp),科学计数法表示中系数(< a >)的最大精度(mant_dig),计算机所能分辨的两个相邻浮点数的最小差值(epsilon),能准确计算的浮点数最大个数(dig)。

浮点数类型直接表示或科学计数法表示中的系数(< a >)最长可输出16个数字,浮点数运算结果中最长可输出17个数字,然而,根据sys.float_info结果,计算机只能够提供15个数字(dig)的准确性。

>>>3.1415926535897924
3.1415926535897922

误差的产生与计算机内部采用二进制运算有关,使用浮点数无法进行及高精度的数学运算。

使用整数表达浮点数的方法时高精度运算的基本方法之一
对于高精度科学计算外的绝大部分运算来说,浮点数类型足够“可靠”,一般认为浮点数类型没有范围限制,运算结果准确。

3、复数类型
Python语言中,复数的虚数部分通过后缀“J”或“j”;来表示,例如:
12.3+4j,-5.6+7j
复数类型中实数部分和虚数部分的数值都是浮点类型。
对于负数Z我们可以用z.real和z.imag分别获得他的实数部分和虚数部分,如:

>>>(12.3+4j).real
12.3
>>>(1.23e-4+5.67e+89j).imag
5.67e+89

基于复数的运算属于数学的复变函数分支