Return values
A function in Python always returns a single object. If a function has to return more than one object, these are packed and returned as a single tuple object.
For instance, the following function takes a complex number z and returns its polar coordinate representation as magnitude r and angleÂ
according to Euler’s formula:

And the Python counterpart would be this:
def complex_to_polar(z): Â Â Â r = sqrt(z.real ** 2 + z.imag ** 2) Â Â Â phi = arctan2(z.imag, z.real) Â Â Â return (r,phi)Â # here the return object is formed
Here, we used the sqrt(x) NumPy function for the square root of a number x and arctan2(x,y) for the expression tan-1(x/y).
Let us try our function:
z = 3 + 5j # here we define a complex number a = complex_to_polar(z) r = a[0] phi = a[1]
The last three statements can be written more elegantly in a single line:
r,phi = complex_to_polar(z)
We can test our function by calling polar_to_comp; refer to Exercise 1.
If a function has no return statement...