← Все вопросы

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

Задан 21 день назад1 просмотров2 ответа
6

Иногда a == b даёт True, а a is b — False. Когда какой оператор использовать? Запутался на сравнении строк и чисел.

2 ответа

8
✓ Принятый ответ — помог автору

== сравнивает значения, is — это один и тот же объект в памяти. Почти всегда нужно ==. is используют только для None/True/False: пиши if x is None. То, что мелкие числа и короткие строки иногда is-равны — деталь кэширования CPython, на неё нельзя опираться.

3

Правило простое: сравниваешь со Noneis, во всех остальных случаях — ==.

Ваш ответ

Войдите, чтобы ответить на вопрос.
Поддержать проект