# Python complex()

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``````

Subscribe to get notified of the latest articles. We will never spam you. Be a part of our ever-growing community.

## Python String isalnum()

Table of Contents Hide What is Alphanumeric?SyntaxParametersReturn valueExample 1: Python string isalnum() working examplesExample 2: Program to check if the string is alphanumeric Python string isalnum() method is a built-in…

## Python syntaxerror: eol while scanning string literal

Table of Contents Hide What does EOL while scanning string literal error mean in Python?Missing quotation marksString spanning multiple lines using the wrong syntaxMismatch of quotesUsing backslash before the ending…

## Python String casefold()

Table of Contents Hide SyntaxParameterReturn ValueDifference between casefold and lower in PythonExample 1: Convert string to lowercase using casefold() method Example 2: Compare strings using casefold() method Python String casefold() method is…

## Python TypeError: ‘float’ object is not callable

Table of Contents Hide What is TypeError: the ‘float’ object is not callable?Scenario 1: When you try to call the reserved keywords as a functionSolutionScenario 2: Missing an Arithmetic operator while…

## ValueError: too many values to unpack (expected 2)

Table of Contents Hide What is Unpacking in Python?Unpacking using List in PythonUnpacking list using underscoreUnpacking list using an asteriskWhat is ValueError: too many values to unpack (expected 2)?Scenario 1:…

## ImportError: No module named requests

In Python, if you try to import Requests without installing the module using pip, you will get ImportError: no module named requests error.  In this tutorial, let’s look at installing…