В чём разница между == и is в Python?

== сравнивает значения по правилам типа, а is проверяет, один ли это объект. Для проверки None обычно используют is None.

Короткий ответ

Что ответить на собеседовании

== сравнивает значения по правилам типа, а is проверяет, один ли это объект. Для проверки None обычно используют is None.

Подробный разбор

Ответ с пояснениями

== сравнивает значения по правилам типа, а is проверяет, один ли это объект. Для проверки None обычно используют is None.

a = [1, 2]
b = [1, 2]
c = a
print(a == b)  # True
print(a is b)  # False
print(a is c)  # True

Сравнение значений может быть переопределено через eq. Идентичность от этого не меняется. Не используйте is для чисел и строк: интернирование и другие оптимизации могут создавать случайное впечатление, что такая проверка работает.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее