Python里面有个inf是干啥的

Posted 但老师

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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,//-1nan,其他的基本符合预期

应用

这种极限值,一般会在什么时候用到呢
举个例子,求极值,也就是最大值,最小值的时候.用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')就好,一样的遍历思路

- 完 -

以上是关于Python里面有个inf是干啥的的主要内容,如果未能解决你的问题,请参考以下文章

Python类中的self到底是干啥的

不会还有人不知道python类中的self到底是干啥的吧?(详细理解)

Python类中的self到底是干啥的

Python类中的self到底是干啥的

Java中所说的jar包是干啥的

c语言中math.h和dos.h是干啥的