Я знаю, что для изменения поведения операторов по умолчанию в python вы можете переопределить некоторые методы по умолчанию, такие как __add__
или __sub__
для + и -, но не нашли ничего, чтобы переопределить поведение and
и or
ключевые слова, в то время как некоторые для побитовых операторов &
, |
: соответственно __and__
и __or__
.Переопределение поведения по умолчанию для операторов python
Знаете ли вы, есть ли крючки для этих ключевых слов? Я знаю, что странно переопределять поведение по умолчанию & or
, но мне нужно это, чтобы построить абстрактное синтаксическое дерево, начинающееся с формулы python во время выполнения, на самом деле не хочет изменять свою семантику странным образом.
Если нет, я хотел бы изменить язык, чтобы иметь эту поддержку. Если есть хороший эксперт, который мог бы предложить мне правильный способ сделать это, пожалуйста, положите руки вверх, иначе я думаю, что я попрошу Guido для этого :)
Спасибо большое floks!
Спасибо, вы сделали точку. Однако я думаю, что мне нужно будет изменить python напрямую, чтобы поддержать это. Это доказательство концепции абстрактных методов интерпретации, поэтому мне нужно сделать это так, как я сказал, потому что мне нужно решить во время выполнения путь, который следует использовать из существующего кода, используя эти крючки. – hoheinzollern
Вам не нужно изменять Python для этого, а именно: Ren'Py. –
Я не понимаю, они делали это уже в своем двигателе? – hoheinzollern