Python math.hypot() 方法



Python math.hypot() 方法用于计算直角三角形中斜边的长度。

在 Python 3.8 之前的版本中,此方法仅用于查找直角三角形中的斜边长度;但在 Python 3.8 之后的版本中,它也用于查找欧几里得范数。

欧几里得范数定义为笛卡尔平面上原点和坐标之间记录的距离。因此,它只不过是一个斜边,其中坐标轴充当直角三角形的底边和垂直边。

为了更好地理解这一点,让我们看看下图 -

数字 Hypot
注意 − 这个函数不能直接访问,所以我们需要导入 math 模块,然后我们需要使用 math 静态对象调用这个函数。

语法

以下是 Python math.hypot() 方法的语法 -


 math.hypot(x, y)

参数

  • x, y − 这些必须是数值。

返回值

此方法返回欧几里得范数 sqrt(x*x + y*y)。

以下示例显示了 Python math.hypot() 方法的用法。在这里,我们将创建两个包含正 float 值的数字对象。这些对象作为参数传递给此方法,并计算欧几里得范数。


import math # This will import the math module

# Create two numeric objects
x = 12.98
y = 44.06

# Calculate the euclidean norm
hyp = math.hypot(x, y)

# Display the length of the euclidean norm
print("The length of Euclidean norm is:", hyp)

当我们运行上述程序时,它会产生以下结果——

The length of Euclidean norm is: 45.93216737755797

即使我们将负坐标 x 和 y 作为参数传递给此方法,欧几里得范数也会以正值获得(因为它是距离)。

在以下示例中,我们将创建两个包含负值的数字对象。这些对象作为参数传递给方法,并计算欧几里得范数的长度。


import math # This will import the math module

# Create two numeric objects with negative values
x = -10.66
y = -15.12

# Calculate the euclidean norm
hyp = math.hypot(x, y)

# Display the length of the euclidean norm
print("The length of Euclidean norm is:", hyp)

让我们编译并运行给定的程序,输出生成如下 -

The length of Euclidean norm is: 18.5

假设 x 和 y 坐标分别作为正无穷大和负无穷大值传递,则欧几里得范数的长度将为正无穷大。


import math # This will import the math module

# Create two numeric objects with infinity
x = float("inf")
y = float("-inf")

# Calculate the Euclidean norm
hyp = math.hypot(x, y)

# Display the length of the Euclidean norm
print("The length of Euclidean norm is:", hyp)

执行上述程序时,输出如下 -

The length of Euclidean norm is: inf

当我们将参数作为 NaN 值传递给此方法时,返回值也将是 NaN 值。


import math # This will import the math module

# Create two numeric objects with NaN values
x = float("nan")
y = float("nan")

# Calculate the euclidean norm
hyp = math.hypot(x, y)

# Display the length of the euclidean norm
print("The length of Euclidean norm is:", hyp)

编译并运行程序以生成结果,如下所示 -

The length of Euclidean norm is: nan