Python math.fabs() 方法



Python 的 math.fabs() 方法用于计算数字的浮点数绝对值。此方法的结果永不为负;即使数字为负值,该方法也会返回其相反数。

与 abs() 方法不同,fabs() 方法的结果始终为浮点类型;并且它不接受复数作为参数。

注意 - 此函数无法直接访问,因此我们需要导入 math 模块,然后使用 math 静态对象调用此函数。

语法

以下是 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() 方法计算它们的浮点型绝对值。

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)

让我们编译并运行上面的程序,输出结果如下:

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。但是,如果将零作为参数传递,则该方法会返回零。

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
python_maths.htm
广告