Python math.atan2() 方法



Python math.atan2() 方法返回 atan(y / x) 的值,以弧度为单位。换句话说,此方法将笛卡尔坐标对 (x, y) 转换为极坐标对 (r, theta) 并返回 theta 值。

此方法仅接受浮点值作为参数;如果将浮点值以外的任何内容传递给此方法,则会引发 TypeError。

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

语法

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


 math.atan2(y, x)

参数

  • x, y − 这必须是浮点类型的数值。

返回值

此方法返回 atan(y / x),以弧度为单位。

以下示例显示了 Python math.atan2() 方法的用法。在这里,我们将创建两个包含两个浮点值的对象,并将它们作为参数传递给此方法。获得的返回值必须以弧度为单位。


import math

# Create two objects of floating-point numbers
x = 0.6
y = 1.2

# Calculate the atan(y/x) value
theta = math.atan2(y, x)

# Print the theta value
print("The theta value is calculated as:", theta)

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

The theta value is calculated as: 1.1071487177940904

如果我们将负值作为参数传递给此方法,将返回由这些矩形坐标括起来的角。


import math

# Create two objects of floating-point numbers
x = -1.6
y = -3.5

# Calculate the atan(y/x) value
theta = math.atan2(y, x)

# Print the theta value
print("The theta value is calculated as:", theta)

如果我们编译并运行

The theta value is calculated as: -1.999574354240913

在以下示例中,我们将创建两个列表对象 x、y。使用 loop 语句,我们尝试从列表中找到相应 x 和 y 值的 theta 值。


import math

# Create two lists of floating-point numbers
x = [1, 2, 3, 4]
y = [5, 6, 7, 8]

# Calculate the atan(y/x) value of all objects in the list
for n in range(0, len(x)):
	 	theta = math.atan2(y[n], x[n])
	 	print("The theta value of", y[n], "and", x[n], "is calculated as:", theta)

在编译和运行上述程序时,输出显示为 -

The theta value of 5 and 1 is calculated as: 1.373400766945016
The theta value of 6 and 2 is calculated as: 1.2490457723982544
The theta value of 7 and 3 is calculated as: 1.1659045405098132
The theta value of 8 and 4 is calculated as: 1.1071487177940904

如果上面的列表作为参数直接传递给方法,则会引发 TypeError。因此,我们使用 loop 语句来访问其中的浮点对象。


import math

# Create two lists of floating-point numbers
x = [1, 2, 3, 4]
y = [5, 6, 7, 8]

# Calculate the atan(y/x) value of all objects in the list
theta = math.atan2(y, x)
print("The theta value is calculated as:", theta)

如果我们编译并运行给定的程序,则会引发 TypeError,如下所示 -

Traceback (most recent call last):
File "main.py", line 8, in <module>
theta = math.atan2(y, x)
TypeError: must be real number, not list