Python math.fabs() 方法用于计算数字的浮点绝对值。此方法的结果永远不会为负数;即使数字为负值,该方法也会返回它的否定。
与 abs() 方法不同,fabs() 方法将始终以 float 类型生成结果;并且它不接受复数作为其参数。
注意 − 这个函数不能直接访问,所以我们需要导入 math module,然后我们需要使用 math static object 调用这个函数。
语法
以下是 Python math.fabs() 方法的语法 -
math.fabs( x )
参数
- x − 这是一个数值。
返回值
此方法返回 x 的浮点绝对值。
例以下示例显示了 Python math.fabs() 方法的用法。在这里,让我们尝试计算正实数的绝对值。
import math
# Create positive Integer and Float objects
inr = 45
flt = 100.12
# Calculate the absolute values of the objects
abs_int = math.fabs(inr)
abs_flt = math.fabs(flt)
# Print the values
print("Absolute Value of an Integer:", abs_int)
print("Absolute Value of an Float:", abs_flt)
当我们运行上述程序时,它会产生以下结果——
Absolute Value of an Integer: 45.0
Absolute Value of an Float: 100.12
Absolute Value of an Float: 100.12
例
正如我们已经讨论过的,绝对值只考虑一个数字的大小。因此,在此示例中,我们将创建具有负值的数字对象,并尝试使用 fabs() 方法来计算它们的 float 类型的绝对值。
import math
# Create negative Integer and Float objects
inr = -34
flt = -154.32
# Calculate the absolute values of the objects
abs_int = math.fabs(inr)
abs_flt = math.fabs(flt)
# Print the values
print("Absolute Value of an Integer:", abs_int)
print("Absolute Value of an Float:", abs_flt)
让我们编译 annd 运行上面的程序,输出显示如下 -
Absolute Value of an Integer: 34.0
Absolute Value of an Float: 154.32
Absolute Value of an Float: 154.32
例
如果我们将复数作为参数传递给此方法,则会引发 TypeError。
在以下示例中,我们将创建两个包含复数的对象,一个是正数,另一个是负数;然后作为参数传递给此方法。
import math
# Create positive and negative complex number objects
pos_cmplx = 12-11j
neg_cmplx = -34-56j
# Calculate the absolute values of the objects created
abs1 = math.fabs(pos_cmplx)
abs2 = math.fabs(neg_cmplx)
# Print the return values
print("Absolute Value of a positive complex number:", abs1)
print("Absolute Value of a negative complex number:", abs2)
编译并运行上面的程序,得到的输出如下 -
Traceback (most recent call last):
File "main.py", line 8, in
abs1 = math.fabs(pos_cmplx)
TypeError: can't convert complex to float
File "main.py", line 8, in
abs1 = math.fabs(pos_cmplx)
TypeError: can't convert complex to float
例
当 None 值作为参数传递给方法时,将引发 TypeError。但是当我们传递一个 0 作为参数时,该方法返回 0。
import math
# Create negative Integer and Float objects
zero = 0
null = None
# Calulate and Print the absolute values
print("Absolute Value of Zero:", math.fabs(zero))
print("Absolute Value of a Null:", math.fabs(null))
执行上述程序时,结果显示如下 -
Absolute Value of Zero: 0.0
Traceback (most recent call last):
File "main.py", line 9, in
print("Absolute Value of a Null:", math.fabs(null))
TypeError: must be real number, not NoneType
Traceback (most recent call last):
File "main.py", line 9, in
print("Absolute Value of a Null:", math.fabs(null))
TypeError: must be real number, not NoneType