24资源网

24资源分享网,分享资源,收集整理资源,有态度的分享资源网

python中π怎么表示

avatar 小四 2023-01-27 12:49 38次浏览 0 条评论 编程

Python中π用自带模块math中的常量pi来表示,这个常量是一个精确到小数点后15位的一个浮点数(没有π本身精确,但够用了),一般用来表示圆周率。本文探讨π在Python中的一些表示方法。

如何表示

这里的“表示”,其实说起来有点牵强。熟悉Python的小伙伴都知道,Python在处理浮点数时,精度方面有一些小bug,这与其内在实现有关。当然,如果使用decimal模块,效果就大不一样了。

由于精度原因,这里的“表示”其实代表不了π本身,但日常使用应该足够了。

首先,我们导入math模块,这是Python自带的模块,它提供了许多对浮点数的数学运算函数,当然,也包括今天的主角pi。

只需要用math.pi来表示π即可。

当然,可以把这个math.pi当作一个浮点数常量来使用。到这里,小伙伴可能有疑问了,为什么不直接使用π来作为一个内置的常量呢?

π在Python中如何表示

先来将这个“π”作为字符串显示出来,我们知道,这个字符在键盘上没有的。下图是一个各种符号对应的Unicode编码。

测试下,定义一个pai = “\u03c0”

首先,“π”表示起来很繁琐(通过Unicode编码转换)。用过Python2.X的小伙伴肯定知道,编码在Python版本2与版本3之间过渡升级时,字符编码处理方面一直是一个很麻烦的问题。把“π”封装到某一个模块里面是个不错的选择。

那么,哪些模块封装了“π”呢,我们先来看下常见的内置模块。

math模块中表示π的方法

控制台下输入下面的内容,我们看下π的值

import math

math.pi

输出为

>>>

3.141592653589793

精度并不高。那么,其它内置模块呢?

decimal模块让π更精确

我们先来看下面的例子

纳尼?明明小数点后35位的浮点数,经Python一处理,展示出来变成了小数点后15位了。这怎么办(原理后面讨论,先想办法解决问题)?

试下decimal这个专门处理浮点数精度的模块。

from decimal import Decimal

pai = Decimal(“3.14159265358979323846264338327950288”)

pai

显示如下:

>>>

Decimal(3.14159265358979323846264338327950288)

这样,就可以保留浮点数精度。至于如何利用decimal进行浮点数运算,我们后续讨论。

举报/反馈

               
发表评论