Вы не можете переопределить логические операторы and
, or
и not
.
Нет, вы не можете переопределить and
и or
. С поведением, которое они имеют в Python (т. Е. С коротким замыканием), они больше похожи на инструменты потока управления, чем операторы, и переопределение их будет больше похоже на переопределение if
, чем + или -.
Вы can влияют на истинное значение ваших объектов (т. е. оцениваются ли они как истинные или ложные) путем переопределения __nonzero__
(или __bool__
в Python 3).
Не совсем. Для операторов короткого замыкания нет специального имени метода.