Идентичность и эквивалентность

Иностранные слова, с одной стороны, обогащают язык, но с другой - делают его менее понятным. Я, например, один раз услышал в рекламе выражение “возврат кэшбэка”. Блин!!! Ребята, вы вообще понимаете, что вы несёте? “Бэк” - это и так “возврат”. Так что эти горе-маркетологи по сути сказали “возврат возврата денег”. Но они этого, конечно, не поняли.

Но в программировании без иностранных слов никуда. Хотя, конечно, я всё-равно не люблю пихать их куда надо и не надо. Но чёткие термины, которые обозначают конкретные вещи, знать надо. Например, чем отличается идентичность от эквивалентности.

Итак, сначала обратимся к словарям.

Идентичный - это одинаковый, совпадающий с чем-либо. Есть ещё определения этого слова из области психологии, но это не для нас.

Эквивалентный - равнозначный, равносильный, полностью заменяющий что-либо.

Ну вроде как почти одно и то же. Однако в программировании это не совсем одно и то же. Если упрощённо, то в эквивалентный - это имеющий то же значение (равный), а идентичный - являющийся тем же объектом (ну во всяком случае такие определения я видел в книгах по Python).

То есть проверка на эквивалентность (равенство) проверяет только значения, а проверка на идентичность проверяет ещё и принадлежность к какому-либо объекту (типу данных).

Например, в JavaScript, сравнить две сущности можно как с помощью оператора == (равенство, или эквивалентность), так и с помощью оператора === (проверка на идентичность). И это, как говорится, будет не одно и то же (подробнее см. здесь).

В Python проверка на равенство (эквивалентность) выполняется также, как и в С/С++, JavaScript и других подобных языках. А проверка на идентичность проверяется с помощью оператора is.

Примеры проверки на идентичность и эквивалентность в Python:

Иностранные слова, с одной стороны, обогащают язык, но с другой - делают его менее понятным. Я, например, один раз услышал в рекламе выражение “возврат кэшбэка”. Блин!!!

В комментариях всё разъяснено. Переменные x и z равны по значению, но при этом НЕ являются идентичными, поскольку имеют разные типы.

На этом всё. Подписывайтесь на канал, чтобы ничего не пропустить.