fjsj fjsj - 2 months ago 8
Python Question

Python "is" statement: what is happening?

I was quite surprised when

[] is not []


evaluated to
True
.

What is happening in this code? What really
not
and
is
statements are doing?

Answer

a is not b is a special operator which is equivalent to not a is b.

The operator a is b returns True if a and b are bound to the same object, otherwise False. When you create two empty lists you get two different objects, so is returns False (and therefore is not returns True).

Comments