Python 一般进行数值计算,支持三种数据类型:“整数 (int)”、“浮点 (float)”和“复数 (complex)”。
整数
整数就是没有小数部分的数字,Python 中的整数包括正整数、0 和负整数。Python 的整数不同于其它强类型计算机语言,它的整数的取值范围可以任意长度。
为了提高数字的的可读性,Python 允许使用下划线“_”作为数字(包括整数和小数)的分隔符,添加的下划线不会影响数字本身的值。通常每隔三个或四个数字添加一个下划线,这类似于英文数字中的逗号。
浮点数
浮点数 (float) 是采用科学计数法来表示的,由符号位、有效数字、指数三部分组成。科学计数法的有效数字为从第一个非零数字开始的全部数字,指数决定小数点的位置,符号表示该数的正负。例如:123.456 以科学计数法表示为 ,0.0123456 表示为
,小数点分别向前或向后移动的两位,小数点是浮动的,这是“浮点”数名称的来由。
为了简便书写,使用字母“e”或“E”表示指数,将
写为 1.23456E+2 的形式,字母 E 左侧小数是有效数字部分,右侧的整数是指数部分,其中”E“是 exponent(指数)的缩写。
浮点的算术运算
浮点的算术运算包含加减乘除幂,和整数的运算基本一致,只是浮点没有整除“//”和求模“%”运算。
浮点与整数的书写上的区分方法
在书写上区分浮点与整数的方法,其实很简单:带小数点的数一定是浮点数。数字 1 和数字 2 都没小数点,因此它们是整数。因为整数与整数的加法结果还是整数,所1 + 2 结果显示的数字 3 也没有小数点。
数字 1 因为没有小数点是整数,数字 2.0 有小数点是浮点。混合整数与浮点数的运算,必须其整数转换为浮点,转换成浮点的运算进行计算,结果自然是浮点:
1 + 2.0 = 3.0
整数 6 除以整数 2,结果是浮点 3.0。虽然在数学上 6 可以被 2 整除,结果是整数 3,但还是以浮点作为结果,为了区别整数带了小数点“.0”。返回是浮点这是由整数的除法“/”运算符的运算规则确定的。
6 / 2 = 3.0
为何结果显示有时以纯小数点有时以科学计数法?
虽然小数在计算机里一般都是以浮点存储和进行计算的,但是浮点的科学计数法却不易读。因此,Python 在小数显示时,只要小数的有效数字位数不超过系统最大有效数字位数,都是以小数显示。Python 浮点类型是 IEEE 754的64 位浮点类型,因此 Python 浮点的最大有效数字的位数是 53 位。
浮点的精度损失
在Python中,整数可以精确计算,但是小数计算会有误差。这是由于计算机只能处理二进制数据,整数可以实现十进制和二进制的完美转换,而小数在从十进制转换成二进制的时候只能得到一个近似值。因此,浮点数运算的时候都会出现一定的精度损失。

