decimal 类型数据怎么引用_第四课:数字类型

小伙伴们好,猜周几小游戏我们就告一段落了,今天我们来一起学习一下Python的数字类型。Python有三种数字类型:分别是整数,浮点数和复数,下面我们依次讲解。 7b2549dbc6cbe346c1e5af9efdc0b120.gif

整数

a34c4c7abaeb4a38302a40b00086a48f.png整数在编程中的概念和日常生活的整数没有什么区别,”门前大桥下,游过一群鸭,快来快来数一数,二四六七八!”。这里的2、4、6、7、8就是整数。而我们的Python是可以用于数据分析的,也是一个强大的计算软件,它可以计算任意的整数,也就是说Python中的整数是可以有无限大的精度。我们来看一个例子:

3e6f8442cee49126c69f44dba2ae7f00.png

可以看出,这是两个非常大的数进行乘和除的运算,只要把数据敲进去,Python一秒就能给出答案。另外可以看到,除法运算不能整除会出现小数。其实就算能够整除,结果也会出现小数,例如以上9/3,结果就是3.0而不是3。这是因为Python中小数是以浮点数形式存放的。下面我们来看一下浮点数是什么。 7b2549dbc6cbe346c1e5af9efdc0b120.gif

浮点数

a34c4c7abaeb4a38302a40b00086a48f.png其实可以这么理解,Python中的浮点数就是生活中的小数。先来看一个例子:

7f03d2192bd9581ea1068eb33f42ddeb.png

前面两个运算比较正常,可是0.01+0.2结果是不是有毛病呢?不应该是0.21吗?怎么后面还有一个2?其实这并没有错误,只是我们平常用的是十进制运算,而计算机用的是二进制,这中间就有一个转换,这一转换就会出现些许的误差。所以在用浮点数进行比较或者运算的时候就要特别小心了,特别是要求比较精密的行业,比如航空航天。可是谁也不能保证航空航天领域计算不会出现浮点数对不对?不用担心,这里当然有办法做到精确的计算浮点数。这里需要引入一个decimal模块,decimal就是十进制的意思。因为不是内置函数,所以要用import引用(详细解释见往期课程)。具体引用的是decimal模块中的Decimal函数,写法见下图:

ca3f2e01123cd2bbc5f5c89e1491d66e.png

我们再来做一下比较,这下就对了。

035090f19dd79158922a661e253ff3af.png

尽管写法比较复杂,并且要用字符串表示数字,但是在这一系列操作之后,就能实现精度计算也是值得的。另外,说到浮点数,我们应该来了解一下“E计法”。听起来感觉挺高端是吧,其实就是科学计数法,来举个例子,把一纳米换算成米,差了9次方对吧。

12f3e15a8d2bffb673ab40e52f6726c3.png

可以看到 10 -9是用e-09来表示的,1e-09就是1×10 -97b2549dbc6cbe346c1e5af9efdc0b120.gif

复数

a34c4c7abaeb4a38302a40b00086a48f.png高中大家都应该学过复数,包含实部和虚部。例如:1+7j,这就是一个复数。这里请注意,复数中无论实部还是虚部都是以浮点数的形式存放的。

87d22c4bf3e47f31681d9c7f967e18bd.png

大家可以看到复数在Python中的表达方式。另外,x.real表示复数的实部,x.imag表示虚部。 7b2549dbc6cbe346c1e5af9efdc0b120.gif

数字运算

a34c4c7abaeb4a38302a40b00086a48f.png说完了各种数字类型,我们再来了解一下数字之间的运算。Python支持的数字运算有很多种,这里列出如下几种:

e47bd8e24d898c61fd3f1b1d566d73a3.png

至于加减乘除大家都非常熟悉,这里不做过多的解释。 我们往下看,双斜杠//表示地板除,什么是地板除呢? 地 板 除就是保证两数相除结果为整,不是整数就向下取整。 来看个例子:

570ceb781f03ba9f102058b4a8b5c4ab.png

6/4=1.5,但是6//4=1,-6//4=-2。结果不是整数,向下取整就是这个意思。x%y表示取两者相除的余数:

97e785855c3c560a3dbd7c63d102951d.png

再看abs(x)表示取绝对值,x为整数就和数学运算一样取绝对值,可是x为复数呢?那就取复数的模呗!

92b5049e3a41a4cc67b3f13c3f353ff3.png

关于int(x),float(x),前文说过是将其他种类的数字转化为整数和浮点数,看下面例子可以注意到,转化为整数时,直接将小数部分扔掉而不是四舍五入。complex(re,im)同样是将其他形式数字转化为复数形式,如下:

57eff613aba4d9139ec0e4835058f4eb.png

最后两个,pow(x,y)和x**y通常是等价的,但是pow()有着他自己特定的功能,如下图括号里有三个数就表示2的4次方的结果除3再取余数。

ac4a485b96f1c1c92b56a2e34587ffc5.png

小伙伴们,今天的课程又结束了,一定要跟上学习,不懂就在下方留言板或者联系小航哥提出疑问哦! efc6c7306f7e50b9b19ec8880a893857.gif留言板
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值