栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python里面有个inf是干啥的

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python里面有个inf是干啥的

文章目录

背景环境测试应用

背景

我们偶尔会在别人代码里面看到Python里面有个inf,这是干啥的呢.

inf代表infinite,表示无限,亦即我们高中学过的无穷.

inf分为正无穷inf或+inf和负无穷-inf
Python中的表示方法是float('inf')和float('-inf')

环境

Python3.8 测试

把常规的运算和比较都测试一遍+ - * / % // > == < !=,结果我就直接汇总了

符号数字inf-inf
+1inf-inf
0inf-inf
-1inf-inf
*1inf-inf
0nannan
-1-infinf
/1inf-inf
0ZeroDivisionErrorZeroDivisionError
-1-infinf
/1/0.0-0.0
0/0.00.0
-1/-0.00.0
%1nannan
0ZeroDivisionErrorZeroDivisionError
-1nannan
%1%1.0-inf
0%0.0-0.0
-1%inf-1.0
//1nannan
0ZeroDivisionErrorZeroDivisionError
-1nannan
//1//0.0-1.0
0//0.0-0.0
-1//-1.00.0
>0TrueFalse
==0FalseFalse
<0FalseTrue
!=0TrueTrue

除了*0,%1,%-1,//1,//-1为nan,其他的基本符合预期

应用

这种极限值,一般会在什么时候用到呢
举个例子,求极值,也就是最大值,最小值的时候.用inf比取随机值作为初始值可要优雅而准确得多
假设有列表如下

num = [5,2,7,9,1,6,9]

我们需要求其中的最大值,常规做法如下

maxnum = num[0]
for n in num:
	if n > maxnum:
		maxnum = n

但是现在我们可以这么做

maxnum = float('-inf')
for n in num:
	if n > maxnum:
		maxnum = n

感觉真的是优雅好多.
求最小值初始值用float('inf')就好,一样的遍历思路

- 完 -
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/769886.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号