Разница между `is` и `==`
Python
Senior
Яндекс
В чём разница между операторами `is` и `==`? Приведите пример, где они ведут себя по-разному, и объясните, почему.
Ответы
`is` против `==`
`==` сравнивает значения объектов (логическое равенство), а `is` — идентичность (один и тот же объект в памяти).
Пример:
```python
a = [1, 2]
b = [1, 2]
print(a == b) # True, значения одинаковые
print(a is b) # False, разные объекты
```
`is` корректно использовать только для сравнения с singletons (`None`, `True`, `False`, sentinels), например: `if x is None:`.