Python math.fabs() 方法



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

正如我们已经讨论过的,绝对值只考虑一个数字的大小。因此,在此示例中,我们将创建具有负值的数字对象,并尝试使用 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

如果我们将复数作为参数传递给此方法,则会引发 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

当 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