小伙伴们好,猜周几小游戏我们就告一段落了,今天我们来一起学习一下Python的数字类型。Python有三种数字类型:分别是整数,浮点数和复数,下面我们依次讲解。
整数
整数在编程中的概念和日常生活的整数没有什么区别,”门前大桥下,游过一群鸭,快来快来数一数,二四六七八!”。这里的2、4、6、7、8就是整数。而我们的Python是可以用于数据分析的,也是一个强大的计算软件,它可以计算任意的整数,也就是说Python中的整数是可以有无限大的精度。我们来看一个例子: 可以看出,这是两个非常大的数进行乘和除的运算,只要把数据敲进去,Python一秒就能给出答案。另外可以看到,除法运算不能整除会出现小数。其实就算能够整除,结果也会出现小数,例如以上9/3,结果就是3.0而不是3。这是因为Python中小数是以浮点数形式存放的。下面我们来看一下浮点数是什么。浮点数
其实可以这么理解,Python中的浮点数就是生活中的小数。先来看一个例子: 前面两个运算比较正常,可是0.01+0.2结果是不是有毛病呢?不应该是0.21吗?怎么后面还有一个2?其实这并没有错误,只是我们平常用的是十进制运算,而计算机用的是二进制,这中间就有一个转换,这一转换就会出现些许的误差。所以在用浮点数进行比较或者运算的时候就要特别小心了,特别是要求比较精密的行业,比如航空航天。可是谁也不能保证航空航天领域计算不会出现浮点数对不对?不用担心,这里当然有办法做到精确的计算浮点数。这里需要引入一个decimal模块,decimal就是十进制的意思。因为不是内置函数,所以要用import引用(详细解释见往期课程)。具体引用的是decimal模块中的Decimal函数,写法见下图: 我们再来做一下比较,这下就对了。 尽管写法比较复杂,并且要用字符串表示数字,但是在这一系列操作之后,就能实现精度计算也是值得的。另外,说到浮点数,我们应该来了解一下“E计法”。听起来感觉挺高端是吧,其实就是科学计数法,来举个例子,把一纳米换算成米,差了9次方对吧。 可以看到 10 -9是用e-09来表示的,1e-09就是1×10 -9。复数
高中大家都应该学过复数,包含实部和虚部。例如:1+7j,这就是一个复数。这里请注意,复数中无论实部还是虚部都是以浮点数的形式存放的。 大家可以看到复数在Python中的表达方式。另外,x.real表示复数的实部,x.imag表示虚部。数字运算
说完了各种数字类型,我们再来了解一下数字之间的运算。Python支持的数字运算有很多种,这里列出如下几种: 至于加减乘除大家都非常熟悉,这里不做过多的解释。 我们往下看,双斜杠//表示地板除,什么是地板除呢? 地 板 除就是保证两数相除结果为整,不是整数就向下取整。 来看个例子: 6/4=1.5,但是6//4=1,-6//4=-2。结果不是整数,向下取整就是这个意思。x%y表示取两者相除的余数: 再看abs(x)表示取绝对值,x为整数就和数学运算一样取绝对值,可是x为复数呢?那就取复数的模呗! 关于int(x),float(x),前文说过是将其他种类的数字转化为整数和浮点数,看下面例子可以注意到,转化为整数时,直接将小数部分扔掉而不是四舍五入。complex(re,im)同样是将其他形式数字转化为复数形式,如下:最后两个,pow(x,y)和x**y通常是等价的,但是pow()有着他自己特定的功能,如下图括号里有三个数就表示2的4次方的结果除3再取余数。
小伙伴们,今天的课程又结束了,一定要跟上学习,不懂就在下方留言板或者联系小航哥提出疑问哦! 留言板