Подтвердить что ты не робот

Оператор python не является

Я заметил, что есть оператор сравнения is not. Должен ли я буквально перевести его на

!= 

вместо

== not
4b9b3361

Ответ 1

Чтобы узнать, что сказал Игнасио:

a == b и a != b проверьте, имеют ли два объекта одинаковое значение. Вы можете переопределить методы __eq__ и __ne__ для определения того, что это значит.

a is b и a is not b проверьте, являются ли два объекта одинаковыми. Это нравится делать id(a) == id(b)

Ответ 2

Это не реляционное сравнение, это идентичность. И он преобразуется в not (A is B).

Ответ 3

документация python 2.7.3, 5.9. Сравнения:

Операторы <, > , ==, > =, < =, и!= сравнивают значения двух объектов.

и оператор в той же главе:

Операторы являются и не проверяют идентификатор объекта: x является y истинным тогда и только тогда, когда x и y являются одним и тем же объектом. x не означает, что y дает обратное значение истинности.

Ответ 4

A != B

означает, что "A не равно B", а не "A равно не B".