# Understanding Complex Data Type in Python

A complex number has two parts, real part and imaginary part. Complex numbers are represented as A+Bi or A+Bj, where A is real part and B is imaginary part.

Python supports complex data type as built-in feature which means we can directly perform different operations on complex number in python.

First thing first, python uses `A+Bj` notation to represent complex number meaning python will recognize `3+4j` as a valid number but `3+4i` is not valid. Let's try it out in python console:

``````
>>> a=3+4j
>>> b=3+4i
SyntaxError: invalid syntax
``````

## Creating Complex Data Type Using complex()

We can create complex number from two real numbers. Syntax for doing this is:

```c = complex(a,b)
```

Where, a & b are of real data types and c will be of complex data types.

Let's try it out in python console:

``````
>>> a=5
>>> b=7
>>> c=complex(a,b)
>>> print(c)
(5+7j)
``````

## Accessing Real and Imaginary Part From Complex Number

After creating complex data type, we can access real and imaginary part using built-in data descriptors `real` and `imag`. Let's try it out in python console:

``````
>>> a = 5+6j
>>> a.real
5.0
>>> a.imag
6.0
``````

## Reading Complex Number From User

We can read complex number directly from user using built-in function `input()`. Since function `input()` returns STRING we must convert result to complex using function `complex()`. Try following example:

``````
a = complex(input('Enter complex number:'))
print('Given complex number is:',a)

``````

Output

```Enter complex number:2+3j
Given complex number is: (2+3j)
```

## Finding Conjugate of Complex Number

Complex data type has built-in method called `conjugate()` to find conjugate of complex number. Let's try it out in python console:

``````
>>> a=10-6j
>>> a.conjugate()
(10+6j)
``````

## Addition, Subtraction, Multiplication & Division on Complex Number

Python supports direct addition, subtraction, multiplication and division using operator `+, -, *, /`. Let's try it out in python console:

``````
>>> a=1+2j
>>> b=3+4j
>>> a+b
(4+6j)
>>> a-b
(-2-2j)
>>> a*b
(-5+10j)
>>> a/b
(0.44+0.08j)
``````