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进行浮点数运算,我们后续讨论。
-
扫码下载安卓APP
-
微信扫一扫关注我们
微信扫一扫打开小程序
手Q扫一扫打开小程序
-
返回顶部
发表评论