Эти операторы проверяют, занимает ли обьект одно и тоже место в памяти, по сути это проверка на соответствия типов сверяемых обьектов.
Если есть число 5, то оно не равно числу 10 при проверке == ибо это есть проверка по значению, но проверка is сравнивает типы данных, а тип что у числа 5 что у числа 10 одинаковый.
if 5 == 5:
print('5 == 5 = ', True)
if 5 is 5:
print('5 is 5 = ', True)
if 5.0 == 5:
print('5.0 == 5 = ', True)
if 1 == True:
print('1 == True = ', True)
if 1 is True:
print('1 is True = ', True)
else:
print('1 is True = ', False)
# Вывод
# 5 == 5 = True
# 5 is 5 = True
# 5.0 == 5 = True
# 1 == True = True
# 1 is True = Falseis - Это оператор для проверки обьектов по ссылке а не по
значению, в то время как == сравнивает обьекты именно по
значению.