Встречается на собеседованиях • сегодня

В чем разница между == и is

== сравнивает значения двух объектов (данные, которые они представляют)

is сравнивает адреса в памяти, проверяют идентичность объектов

Пример:

text
# == сравнивает значения
a = [1, 2, 3]
b = [1, 2, 3]
 
print(a == b)  # True (списки содержат одинаковые элементы)
print(a is b)  # False (разные объекты в памяти)

is проверяет идентичность

c = a

print(a is c)  # True (обе переменные ссылаются на один и тот же объект)

числа и строки: Python иногда кеширует объекты

x = 256
y = 256

print(x is y)  # True (оптимизация: кеш малых целых чисел)

z = 257
w = 257

print(z is w)  # Может быть False (созданы разные объекты)

text

**Когда использовать**:

**\==** Когда нужно проверить, **равны ли значения**

**is** Когда нужно проверить, **являются ли два имени одной и той же ссылкой на объект** (в основном с None)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы