python如何表示无穷大

图片[1]-python如何表示无穷大-uusu优素-乐高,模型,3d打印,编程

float('inf') 表示正无穷

-float('inf') 或 float('-inf') 表示负无穷

其中,inf 均可以写成 Inf

起步

python中整型不用担心溢出,因为python理论上可以表示大的整数,直到把内存挤爆。而无穷大在编程中常常需要的。比如,从一组数字中筛选出最小的数字。一般使用一个临时变量用于存储最后结果,变量去逐个比较和不断地更新。而这临时变量一般要初始无穷大或者去第一个元素的值。

正无穷大与负无穷大

python中并没有特殊的语法来表示这些值,但是可以通过 float() 来创建它们:

>>>a=float("inf")
>>>b=float("-inf")
>>>a
inf
>>>b
-inf

为了测试这些值的存在,使用 math.isinf() 进行判断:

>>>importmath
>>>math.isinf(a)
True
>>>math.isinf(b)
True

推荐学习《python教程》

无穷大数在执行数学计算的时候会传播

这个就类似于数学中讲述的,无穷大加上一个常数还是无穷大,无穷大与无穷大相等:

>>>a=float('inf')
>>>a+45
inf
>>>a*10
inf
>>>10/a
0.0
>>>float("inf")==float("inf")
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

更安全的类型转换

defstr2float(ss):
ifnotss.isdigit():
raiseValueError
returnfloat(ss)

sss="inf"
a=str2float(sss)
原文来自:https://www.py.cn
© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容