Python complex()
Srinivas Ramakrishna
Posted on October 11, 2021
ItsMyCode |
Python complex()
function takes real, imaginary numbers and strings as input and converts them into a complex number. This method takes two optional parameters ( real and imaginary ) and returns a complex number as output.
complex() Syntax
The syntax of complex()
is:
**complex([real[, imaginary]])**
complex() Parameters
The complex()
method can take two parameters, and both are optional.
-
real (optional) – A number representing the real part of the complex number. The real number can be of a string like ‘
3+5j
‘. If not set anything, it defaults to 0. - imaginary (optional) – A number representing the imaginary part of the complex number. If not set anything, it defaults to 0.
If the first parameter is passed as a string, then it will be interpreted as a complex number. In this case, the second parameter should be omitted.
complex() Return Value
It returns the complex number as output.
Note: In string conversion, it must not contain whitespace around the operator (+ or -). Example – complex('1+2j')
is fine, but complex('1 + 2j')
raises ValueError.
Example 1: How to create a complex number in Python?
In this example, we will take a look at creating the complex number using real numbers with integer, float and string.
# Code to illustrate complex number
# covert real number to complex
num = complex(5,3)
print(num)
# covert real number to complex
num = complex(5,-4)
print(num)
# Default if no parameter is passed to complex method
num = complex()
print(num)
# In case if you pass only real number, defaults imaginary to 0
num = complex(5)
print(num)
# In case if you pass only real number, defaults imaginary to 0
num = complex(-2)
print(num)
# In case if you pass only float number, defaults imaginary to 0
num = complex(5.6,4)
print(num)
# if string is passed, it will be interpreted as complex number
num = complex('8')
print(num)
# if string is passed, it will be interpreted as complex number
num = complex('1+2j')
print(num)
Output
(5+3j)
(5-4j)
0j
(5+0j)
(-2+0j)
(5.6+4j)
(8+0j)
(1+2j)
Example 2: TypeError while converting string with imaginary parameter
If the first parameter is passed as a string, then it will be interpreted as a complex number. In this case, the second parameter should be omitted. Otherwise, you get the TypeError: complex() can’t take second arg if first is a string
# Code to illustrate complex number
# if string is passed with imaginary number
num = complex('8',5)
print(num)
Output
Traceback (most recent call last):
File "c:\Projects\Tryouts\listindexerror.py", line 4, in <module>
num = complex('8',5)
TypeError: complex() can't take second arg if first is a string
Example 3: ValueError if string operator has a space
In the case of string conversion, if there is any space around the operator, Python will raise ValueError: complex() arg is a malformed string
# if you give a space in the string
num = complex('1 + 2j')
print(num)
Output
Traceback (most recent call last):
File "c:\Projects\Tryouts\listindexerror.py", line 4, in <module>
num = complex('1 + 2j')
ValueError: complex() arg is a malformed string
The post Python complex() appeared first on ItsMyCode.
Posted on October 11, 2021
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.