identity

Identity vs. Equality

Should I be using is or ==?

To check if two objects are equal, use the equality operator (==).

x = 5
if x == 5:
    print("x equals 5")
if x == 3:
    print("x equals 3")
# Prints 'x equals 5'
To check if two objects are actually the same thing in memory, use the identity comparison operator (is).
list_1 = [1, 2, 3]
list_2 = [1, 2, 3]
if list_1 is [1, 2, 3]:
    print("list_1 is list_2")
reference_to_list_1 = list_1
if list_1 is reference_to_list_1:
    print("list_1 is reference_to_list_1")
# Prints 'list_1 is reference_to_list_1'