← Все вопросы
В чём разница между is и == ?
6
Иногда a == b даёт True, а a is b — False. Когда какой оператор использовать? Запутался на сравнении строк и чисел.
2 ответа
8
✓ Принятый ответ — помог автору
== сравнивает значения, is — это один и тот же объект в памяти. Почти всегда нужно ==. is используют только для None/True/False: пиши if x is None. То, что мелкие числа и короткие строки иногда is-равны — деталь кэширования CPython, на неё нельзя опираться.
3
Правило простое: сравниваешь со None — is, во всех остальных случаях — ==.
Ваш ответ
Войдите, чтобы ответить на вопрос.