百科狗-知识改变命运!
--

python如何表示无穷大

百变鹏仔1年前 (2023-11-20)阅读数 21#技术干货
文章标签无穷大

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

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

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

>>>a=float('inf')

>>>a+45

inf

>>>a*10

inf

>>>10/a

0.0

>>>float("inf")==float("inf")

True

无穷大在比较中比任何一个数都要大。

正无穷与负无穷相加的结果是什么

有些操作时未定义的并会返回一个NaN结果:

>>>a=float('inf')

>>>a/a

python如何表示无穷大

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()判断:

defstr2float(ss):

ifnotss.isdigit():

raiseValueError

returnfloat(ss)

sss="inf"

a=str2float(sss)

以上内容为大家介绍了python培训之如何表示无穷大,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:开发教育。

鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com

免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)

图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)