There are mainly** two identity operators in Python** -

*is*operator and,*is not*operator.

These are different from equality (==) and not equal (!=) operators. The identity operators check if the two variables corresponds to the same object and the memory location. We start with *is* operator first.

## is identity operator in Python

As already discussed, the* is* operator would return with **True** if the two variables are identical. Which means they have the same object and the memory location. Let's understand with the help of an example.

We declare a list x, which has the following values assigned -

x = [2,5,6]

And, we assign the values of x in y

y = x

To check if x and y are identical

x is y

It returns with the following,

True

Now, consider a scenario where both the values of list x and y are equal.

x = [2,5,6] y = [2,5,6] x is y

This would return with -

False

Although, both the values are same still it returns with False because x and y variables don't correspond to the same object and memory location.

## is not identity operator in Python

*is not* is exactly opposite to identity operator - *is*. Let's say we two lists x and y -

x = [2,5,6] y = [2,5,6] x is not y

This would return with -

True

Clearly, values are same but not the objects. So, it returns with True. Although x is equal to y value-wise. But, we can't say they are identical. Now, let's consider the situation where x and y are identical.

x = [2,5,6] y = x x is not y

It returns with -

False

Reason - because x is y.

**In conclusion**, we have covered two identity operators in Python here.