is
сравнивает местоположение памяти. Он используется для сравнения уровня объекта.
==
будет сравнивать переменные в программе. Он используется для проверки на уровне ценности.
is
проверяет эквивалентность уровня адреса
==
проверяет эквивалентность уровня значения