Операторы is-not и is в Python

Python не проверяет, относятся ли два операнда к одной и той же ссылке. Если у них нет одинаковой ссылки на память, python не возвращает True, иначе он возвращает False.

Пример

В следующем примере мы будем использовать оператор is not в операторе If.

a = [5, 8]
b = [5, 8]
c = a

if a is not b:
	print('a is not b')
else:
	print('a is b')

if a is not c:
	print('a is not c')
else:
	print('a is c')

Вывод:

a is not b
a is c

В приведенном выше примере содержимое a и b одинаково, но a и b – разные объекты, имеющие разное распределение памяти.

Но когда a присваивается c, в c копируется только ссылка, но не все содержимое. Итак, если вы измените содержимое c, то содержимое a также будет изменено, потому что они относятся к одному и тому же списку в памяти. Следовательно, a не c – возвращается False, а a не b – возвращается True.

Оператор IS

Ключевое слово is в Python используется для проверки того, совпадают ли ссылки памяти двух объектов .

Оператор is принимает два операнда и возвращает True, если оба объекта имеют одинаковую ссылку на память, и False, если нет.

В следующем примере мы продемонстрируем использование и функционирование оператор is.

a = [5, 8]
b = [5, 8]
c = a

if a is b:
	print('a is b')
else:
	print('a is not b')

if a is c:
	print('a is c')
else:
	print('a is not c')

Вывод:

a is not b
a is c

В приведенном выше примере содержимое a и b одинаково, но a и b – разные объекты, имеющие разное распределение памяти.

Но когда a присваивается c, в c копируется только ссылка, но не все содержимое. Итак, если вы измените содержимое c, то содержимое a также будет изменено, потому что они относятся к одному и тому же списку в памяти. Следовательно, a is c – возвращается True, а a b – возвращается False.

Заключение

В этом руководстве Python мы узнали, как использовать ключевое слово is-not и is в Python с помощью примеров программ.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *