Я был под впечатлением, что можно было перегрузить and
в Python, но, прочитав сейчас документы, я понял, что __and__
относится к поразрядному оператору &
, а не к логическому and
.Можно ли перегрузить логический и в Python?
Я что-то пропускаю, или невозможно перегрузить логический and
в Python?
Мне любопытно: что бы вы хотели сделать перегруженным 'и' делать? Или вы просто просите чисто теоретические причины? –
Чисто теоретический. Я пишу что-то, что нужно для работы с Python AST. Для большинства вещей, таких как 'Добавить', я заменяю его вызовом' __add__', но я был удивлен, что не смог найти функцию для замены узла «И» в AST. – ArtOfWarfare
Я не вижу веской причины, по которой вы хотели бы ввести пользовательское поведение для логических операторов, которое не соответствует поведению при оценке '__bool__'. – poke