Операторы идентификации в Python сравнивают места в памяти двух объектов. Ниже описаны два оператора идентификации:

Оператор Описание Пример
is Возвращает значение true, если переменные по обе стороны от оператора указывают на один и тот же объект, и false в противном случае. x is y, здесь результат равен 1, если id (x) равен id (y).
не является Возвращает false, если переменные по обе стороны от оператора указывают на один и тот же объект, и true в противном случае. x is not y, здесь не будет 1, если id (x) не равно id (y).

Пример

#!/usr/bin/python
a = 20
b = 20
if ( a is b ):
 print "Строка 1 - a и b имеют одинаковые идентичности"
else:
 print "Строка 1 - a и b не имеют одинаковых идентичностей"
if ( id(a) == id(b) ):
 print "Строка 2 - a и b имеют одинаковые идентичности"
else:
 print "Строка 2 - a и b не имеют одинаковых идентичностей"
b = 30
if ( a is b ):
 print "Строка 3 - a и b имеют одинаковые идентичности"
else:
 print "Строка 3 - a и b не имеют одинаковых идентичностей"
if ( a is not b ):
 print "Строка 4 - a и b не имеют одинаковых идентичностей"
else:
 print "Строка 4 - a и b имеют одинаковые идентичности"

Когда вы выполните вышеуказанную программу, она даст следующий результат:

Строка 1 - a и b имеют одинаковые идентичности
Строка 2 - a и b имеют одинаковые идентичности
Строка 3 - a и b не имеют одинаковых идентичностей
Строка 4 - a и b не имеют одинаковых идентичностей

Оглавление