mysql中无穷大如何表示_python如何表示无穷大

3a07cdc2818ace4736765494ca49e2e7.gif

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")

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)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值