2.4 基本数据类型——数字
本节重点
1.学员了解整形、布尔型、浮点型以及复数型之间的定义与联系
2.学员掌握数字类型的基本运算方法
3.学员能熟练掌握数字常用操作
布尔型
bool型只有两个值:True和False
之所以将bool值归类为数字,是因为我们也习惯用1表示True,0表示False。
整型
Python中的整数属于int类型,默认用十进制表示,此外也支持二进制,八进制,十六进制表示方式。
进制转换
尽管计算机只认识二进制,但是为了迎合我们的习惯,python中的数字默认还是十进制。还提供了一些方法来帮助我们做转换。比如是进制转换为二进制使用bin方法,在转换结果前面还会加上‘0b’表示是一个二进制书。
既然十进制可以转换为二进制,那么其实使用同样的原理也可以转换为其他进制,python也为我们提供了十进制转换成八进制和十六进制的方法,分别是oct和hex。八进制前面以‘0o’标示,十六进制以‘0x’标示
取余运算(%)
算术运算(+ - * / // divmod **)
浮点型
浮点数是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示任意某个实数。具体的说,这个实数由一个整数或定点数(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得到,这种表示方法类似于基数为10的科学计数法。
好了,我们来解释上面那句装。。。的话:
Python的浮点数就是数学中的小数(alex一定要强调float是有限小数或无限循环小数,就好像谁真的关心似的)。
在运算中,整数与浮点数运算的结果也是一个浮点数。
为什么要叫做float浮点型?
关于小数不精准问题
Python默认的是17位精度,也就是小数点后16位,尽管有16位,但是这个精确度却是越往后越不准的。
首先,这个问题不是只存在在python中,其他语言也有同样的问题
其次,小数不精准是因为在转换成二进制的过程中会出现无限循环的情况,在约省的时候就会出现偏差。
比如:11.2的小数部分0.2转换为2进制则是无限循环的00110011001100110011...
单精度在存储的时候用23bit来存放这个尾数部分(前面9比特存储指数和符号);同样0.6也是无限循环的;
这里有一个问题,就是当我们的计算需要使用更高的精度(超过16位小数)的时候该怎么做呢?
复数
从上面的图中我们就可以看出,复数complex是由实数和虚数组成的
要了解复数,其实关于复数还需要先了解虚数。虚数(就是虚假不实的数):平方为复数的数叫做虚数。
复数是指能写成如下形式的数a+bi,这里a和b是实数,i是虚数单位(即-1开根)。在复数a+bi中,a称为复数的实部,b称为复数的虚部(虚数是指平方为负数的数),i称为虚数单位。
当虚部等于零时,这个复数就是实数;当虚部不等于零时,这个复数称为虚数。
注,虚数部分的字母j大小写都可以。
Last updated
Was this helpful?