Python complex() function is used to create complex numbers. It’s a built-in function that returns a complex type from the input parameters.
Table of Contents
Python complex()
Python complex() function syntax is:
class complex([real[, imag]])
Some of the important points to remember while using complex() function are:
- Python complex() function returns complex number with value
real + imag*1j
. - We can convert string to complex number using complex() function. If the first argument is string, second argument is not allowed.
- While converting string to complex number, whitespaces in string is not allowed. For example, ‘1+2j’ is fine but ‘1 + 2j’ is not.
- If no argument is passed, then
0j
is returned. - Input arguments can be in any numeric format such as hexadecimal, binary etc.
- Underscores in numeric literals are also allowed from Python 3.6 onwards, refer PEP 515.
Python complex() examples
Let’s look at some complex() function examples.
complex() without any argument
c = complex()
print(type(c))
print(c)
Output:
<class 'complex'>
0j
complex() with numeric arguments
c = complex(1, 1)
print(c)
c = complex(1.5, -2.1)
print(c)
c = complex(0xF) # hexadecimal
print(c)
c = complex(0b1010, -1) # binary
print(c)
Output:
(1+1j)
(1.5-2.1j)
(15+0j)
(10-1j)
complex() with underscore numeric literals
c = complex(10_000_000.0, -2)
print(c)
Output: (10000000-2j)
complex() with complex number inputs
c = 1 + 2j
c = complex(c, -4)
print(c)
c = complex(1+2j, 1+2J)
print(c)
Output:
(1-2j)
(-1+3j)
Notice how complex literals are combined to form a new complex number. If the second argument is a complex number, then the calculation is different.
complex() with string arguments
c = complex("1+2j")
print(c)
Output: (1+2j)
Let’s see what happens when the input string has white spaces.
c = complex("1 + 2j")
Output: ValueError: complex() arg is a malformed string
Let’s see what happens when the first argument is a string and the second argument is also provided.
c = complex("1+j", 2)
Output: TypeError: complex() can't take second arg if first is a string
What if we try to pass the second argument as String, let’s see what error we get.
c = complex(2, "-2j")
Output: TypeError: complex() second arg can't be a string
That’s all for python complex() function.
Reference: Official Documentation