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
暂无评论内容