В чем разница между ‘is’ и ‘==’ в python

Оператор is сравнивает идентичность двух объектов, в то время как оператор == сравнивает значения двух объектов. Существует разница в значении между равными и идентичными. И эта разница важна, когда вы хотите понять, как себя ведут операторы Python и ==.

Оператор == используется, когда значения двух операндов равны, тогда условие становится истинным.

Оператор is оценивает значение true, если переменные с обеих сторон оператора указывают на один и тот же объект и false в противном случае.

Рассмотрим следующий пример:

 
list_1 = ['a', 'b', 'c']
list_2 = list_1
list_3 = list(list_1)
print(list_1)
print(list_2)
print(list_3)

Выход

 
['a', 'b', 'c']
['a', 'b', 'c']
['a', 'b', 'c']

В приведенном выше примере мы видим, что они указывают на идентичные списки. Затем мы проверяем равенство этих списков.

 
print(list_1 == list_2)
print(list_1 == list_3)

Вышеприведенный вывод кода:

 
True
True

Это связано с тем, что их значения list_1, list_2, list_3 равны, тогда условие становится истинным.

 
print(list_1 is list_2)
print(list_1 is list_3)

Вышеприведенный вывод кода:

 
True
False

Здесь вы можете видеть (list_1 is list_3) False, потому что list_1 и list_3 указывают на два разных объекта, хотя их содержимое может быть одинаковым. Итак, мы можем сказать, что «is» вернет True, если две переменные указывают на один и тот же объект и «==», если объекты, на которые ссылаются переменные, равны.

Источник: http://net-informations.com/python/iq/is.htm

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (5 оценок, среднее: 3,20 из 5)
Adblock
detector