Python atan2: How to Find Arctangent in Radians

Python atan2(y, x) is defined under the math module, which is used to find the arctangent of y/x in radians.

 In terms of atan(), we can relate it as atan(y/x), where y and x are numeric values. We can use a math module by importing it. First, we need to import the math module; after importing, we call this function using the static object. It returns the arctangent of the two passed numeric parameters in the form of y/x.

Python atan2()

Python atan2() is a built-in function that returns value of atan(y/x) in radians. The atan2() method returns a numeric value between –\pi and representing the angle \theta of an (x, y) point and the positive x-axis.




It takes two parameters out of which both are of numeric datatype; any other data type is not acceptable if any other data type is passed as a parameter; it throws a type error.

Return Value

It returns the arc tangent value of the number in the float datatype.

X: It can be a number or a valid numerical expression representing Cartesian X – Coordinate.

Y: It can be a number or a valid numerical expression representing Cartesian Y – Coordinate.


See the following code example.

import math
x = 0.35
y = 3.25
print(math.atan2(y, x))



Example programs on atan2() method in Python

Example 1: Write a program to show the working of the atan2() method in Python.

import math

x1 = 0.32
y1 = 4.33

x2 = 33.52
y2 = 55.34

x3 = 23.22
y3 = 33.11

print("x1= ", x1, "y1= ", y1, "arc= ", math.atan2(y1, x1))
print("x2= ", x2, "y2= ", y2, "arc= ", math.atan2(y2, x2))
print("x3= ", x3, "y3= ", y3, "arc= ", math.atan2(y3, x3))


x1= 0.32 y1= 4.33 arc= 1.4970274295011163
x2= 33.52 y2= 55.34 arc= 1.0261887579183147
x3= 23.22 y3= 33.11 arc= 0.9591992824866347

In this example, we have seen that by passing two parameters (x,y) for different examples, we get the desired atan2() method solution, which is the arc.

Example 2: Write a program to pass a value of any other datatype in the atan2() function and display the output.

import math
x1 = 0.32
y1 = 'a'

print("arc= ", math.atan2(y1, x1))


TypeError: must be real number, not str

In this example, we tried passing a parameter, which is not an real number, and because of that, the program throws an error stating that the number must be real and not string.

Python atan2() with list and tuple

See the following code.


import math

Tup = (11, 21, 3, -46, 5)
Lis = [-11, 21, -3.5, -46, 5]

print('Tangent value of Positive Number = %.2f' % math.atan2(2, 4))
print('Tangent value of Negative Number = %.2f' % math.atan2(-1, 6))

print('Tangent value of Tuple Item = %.2f' % math.atan2(Tup[3], Tup[2]))
print('Tangent value of List Item = %.2f' % math.atan2(Lis[2], Lis[4]))

print('Tangent value of Multiple Number = %.2f' % math.atan2(2 + 7 - 4, 9-5))

print('Tangent value of String Number = %.2f', math.atan2('Hello', 'Python'))


Tangent value of Positive Number = 0.46
Tangent value of Negative Number = -0.17
Tangent value of Tuple Item = -1.51
Tangent value of List Item = -0.61
Tangent value of Multiple Number = 0.90
Traceback (most recent call last):
  File "", line 14, in <module>
    print('Tangent value of String Number = %.2f', math.atan2('Hello', 'Python'))
TypeError: a float is required

If you pass the string to the atan2() function, it will give the TypeError, which says: a float is required.

That’s it for this tutorial.

See also

Python atan()

Python acos()

Python asin()

Python log(2)

Python log(x, base)

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.