python⽆穷⼤怎么表⽰_python如何表⽰⽆穷⼤
float('inf') 表⽰正⽆穷
-float('inf') 或 float('-inf') 表⽰负⽆穷
其中,inf 均可以写成 Inf
起步
python中整型不⽤担⼼溢出,因为python理论上可以表⽰⽆限⼤的整数,直到把内存挤爆。⽽⽆穷⼤在编程中常常需要的。⽐如,从⼀组数字中筛选出最⼩的数字。⼀般使⽤⼀个临时变量⽤于存储最后结果,变量去逐个⽐较和不断地更新。⽽这临时变量⼀般要初始⽆穷⼤或者去第⼀个元素的值。
正⽆穷⼤与负⽆穷⼤
python中并没有特殊的语法来表⽰这些值,但是可以通过 float() 来创建它们:>>> a = float("inf")
>>> b = float("-inf")
>>> a
inf
>>> b
-inf
为了测试这些值的存在,使⽤ math.isinf() 进⾏判断:>>> import math
>>> math.isinf(a)
True
>>> math.isinf(b)
True
⽆穷⼤数在执⾏数学计算的时候会传播
这个就类似于数学中讲述的,⽆穷⼤加上⼀个常数还是⽆穷⼤,⽆穷⼤与⽆穷⼤相等:>>> a = float('inf')
>>> a + 45
inf
>>> a * 10
inf
>>> 10 / a
0.0
>>> float("inf") == float("inf")python怎么读的
True
⽆穷⼤在⽐较中⽐任何⼀个数都要⼤。
正⽆穷与负⽆穷相加的结果是什么
有些操作时未定义的并会返回⼀个 NaN 结果:>>> a = float('inf')
>>> a/a
nan
>>> b = float('-inf')
>>> a + b
nan
表⽰⾮数字的 NaN
nan 值在所有操作中也会传播,并且不会产⽣异常:>>> c = float('nan')
>>> c + 23
nan
>>> c / 2
nan
>>> c * 2
nan
>>> math.sqrt(c)
nan
使⽤ math.isnan() 可以判断值是否是 NaN:>>> math.isnan(c)
True
nan 值的任何⽐较操作都是返回 False :>>> float("nan") == float("nan")
False
>>> c > 3
False
更安全的类型转换
由于⽆穷的存在,因此字符串装浮点数就存在的⼀些例外,并且这个转换过程不会抛出异常。如果程
序员们想改变 python 的默认⾏为,可以使⽤ fpectl 模块,但是它在标准的Python 构建中并没有被启⽤,它是平台相关的,并且针对的是专家级程序员。这⾥提供⼀个⽐较简单的转换,就是加⼀个 isdigit() 判断:def str2float(ss):
if not ss.isdigit():
raise ValueError
return float(ss)
sss = "inf"
a = str2float(sss)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论