Я заметил, что есть оператор сравнения is not. Должен ли я буквально перевести его на
!=
вместо
== not
Ответ 1
Чтобы узнать, что сказал Игнасио:
a == b и a != b проверьте, имеют ли два объекта одинаковое значение. Вы можете переопределить методы __eq__ и __ne__ для определения того, что это значит.
a is b и a is not b проверьте, являются ли два объекта одинаковыми. Это нравится делать id(a) == id(b)
Ответ 2
Это не реляционное сравнение, это идентичность. И он преобразуется в not (A is B).
Операторы <, > , ==, > =, < =, и!= сравнивают значения двух объектов.
и оператор в той же главе:
Операторы являются и не проверяют идентификатор объекта: x является y истинным тогда и только тогда, когда x и y являются одним и тем же объектом. x не означает, что y дает обратное значение истинности.
Ответ 4
A != B
означает, что "A не равно B", а не "A равно не B".