Sobes.tech
Middle
50

Co zwróci Python podczas porównywania dwóch pustych krotek za pomocą 'is'? A dwóch pustych list?

Firmy, w których zadano pytania
СБЕРСБЕР

Odpowiedź od AI

sobes.tech AI

При сравнении двух пустых кортежей через оператор is в Python результат будет True, так как пустые кортежи являются неизменяемыми и интернированными объектами, и Python использует один и тот же объект в памяти для всех пустых кортежей.

print(() is ())  # Выведет: True

Для двух пустых списков оператор is вернёт False, так как списки — изменяемые объекты, и при создании двух пустых списков создаются разные объекты в памяти.

print([] is [])  # Выведет: False

Таким образом, is проверяет идентичность объектов (одинаковый адрес в памяти), а не равенство по значению.