全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 python论坛
3536 3
2020-10-14
当我们使用Python的abs()function时,我们经常使用整数和浮点值。但是abs()具有一个鲜为人知的功能:它也可以使用不常见的值。让我们来看看。

在这篇文章中:

获取不常见的Python值的绝对值
Python中复数的绝对值
非基数10的绝对值
二进制数的绝对值
科学计数法的绝对价值
十六进制数的绝对值
八进制数的绝对值
Python的无穷大和NaN的绝对值
概要
#获取不常见的Python值的绝对值
在Python中,我们使用函数获得数字的绝对值abs()。当我们给该函数一个整数或浮点数时,它返回返回该数的非负值(Python Docs,nd)。

但是abs()可以做得更多。此函数还知道如何处理不太常见的值。让我们来看看:

对于复数,abs()返回该数字的大小。
如果数字的底数不同于10,则abs()仍返回以10为底的绝对值。
具有正或负无穷大时,abs()返回绝对正无穷大。
并使用非数字值(NaN)abs()返回NaN。
让我们看看代码如何查找这些abs()行为。

#在Python复数的绝对值
甲复数处于方程的形式表示的数字,实部和一个所谓的虚部。后者为方程式提供了解决方案,而该方程式不能满足实数。

当我们使用abs()复数时,该函数返回复数的大小(Python Docs,nd)。例如:
复制代码
在这里,我们有两个复数,分别存储在complexA和complexB变量中。然后我们将它们与print()功能一起输出。代码段的最后一行调用abs()这些复数上的函数。

这是Python的输出:

复制代码

#非基数10的绝对值
几乎所有时间该abs()函数都使用以10为底的十进制值,abs(-3.14)和abs(234.98)。但是,如果我们使用具有不同底数的值,则函数的结果仍将以10为底。让我们看一下。

#二进制数的绝对值
甲二进制数表示在基座-2数字系统,该系统只使用两个符号的值:“0”和“1”。这些1和0的顺序确定二进制数的实际值。

当我们调用abs()二进制数时,我们得到一个十进制结果。例如:
复制代码
此代码产生两个变量,positiveBinary和negativeBinary。这些是以二进制格式表示的正值和负值。

print()然后,Python的函数输出一些文本。然后,abs()对那些二进制数字调用该函数。输出的内容如下:
复制代码
这表明abs()即使不输入基数也返回以10为底的值。(由于print()输出数字的方式而不会发生这种情况。当我们将abs()立即返回的值转换为字符串时,该字符串值已经是一个十进制数字。)

#科学计数法的绝对价值
用科学计数法,我们有一个十进制数字乘以数字10,该数字升为正或负。这表示非常大或很小的值,而不必写一堆零。

当我们调用该abs()函数与科学记数法的数字,我们得到一个正规浮点值回。例如:
复制代码

在这里,我们做两个变量,positiveExp和negativeExp。print()然后,Python的函数宣布其绝对值的输出。我们通过调用abs()这些变量来兑现承诺。

这是小程序的输出:

复制代码

#十六进制的绝对值
与常见的十进制数字基数10不同,十六进制数字使用基数16。它用十六个不同的符号表示这些值(通常为“ 0”至“ 9”,“ A”至“ F”)。这也是表示二进制数的一种便捷方式,因为一个十六进制数字可以表示四个二进制数字的排列。

当我们给Pythonabs()函数一个十六进制值时,我们得到一个常规的十进制值作为回报。例如:
复制代码
这个小程序首先生成两个十六进制变量,positiveHex和negativeHex。print()然后该函数进行一些输出。然后,abs()对这些十六进制值调用该函数。

这是我们得到的输出:
复制代码

#八进制数的绝对值
一个八进制数是在底座8的值的八位数字这种格式开始与计数为“0”至“7”。10到17的八进制值用“ 8”到“ 15”表示。

当我们abs()以八进制值调用函数时,我们不会得到八进制值。相反,我们最终得到一个十进制值。这是一个例子:
复制代码

在这里,我们首先做两个变量。它们具有正负八进制值。

然后,我们使用Pythonprint()函数打印一些信息。接下来,我们显示变量的绝对值。我们通过获得这些值abs()。这是输出的样子:
复制代码
# Python的无穷大和NaN的绝对值
为了完整起见,让我们看一下abs()函数如何使用两种特殊值:正无穷大和负无穷大以及非数字值(NaN)。

让我们通过这个迷你程序探索这些值:
复制代码

在此Python脚本,我们首先要三个变量:positiveInf,negativeInf,和nanValue。它们分别具有正无穷大,负无穷大和“非数字”(NaN)值。

然后,我们使用该print()函数输出其绝对值。为了获得这些非负值,我们abs()在每个变量上调用该函数。

从下面的输出中可以看到,这些值保持相同的类型。abs()不会像我们在上面的其他示例中看到的那样改变它们。
复制代码
我们不能将abs()函数与None值一起使用。当我们这样做时,Python会生成一条TypeError错误消息(“ abs()的错误操作数类型”)。
#总结
我们使用Pythonabs()函数获得数字的绝对值。该函数可以返回三种类型的值之一:整数,浮点值或复数的大小。

有趣的是abs(),即使我们没有为其提供以十进制开头的值,它也会返回以10为底的值。因此,当我们以十六进制,二进制或八进制值执行函数时,结果不在基数16、2或8中。结果在基数10中。

这样abs()不仅可以返回绝对值,还可以转换该值。




二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2020-10-15 16:46:21
Pray for the best, prepare for the worst.

谢谢分享
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2022-5-14 09:12:30
学习中
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2022-5-21 10:23:43
感谢分享
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群