Перезапись поведения по умолчанию для операторов Python - PullRequest
0 голосов
/ 27 октября 2010

Я знаю, что для изменения поведения операторов по умолчанию в python вы можете переопределить некоторые методы по умолчанию, такие как __add__ или __sub__ для + и -, но не нашли ничего, что могло бы переопределить поведение and иor ключевых слов, в то время как есть некоторые для побитовых операторов &, |: соответственно __and__ и __or__.

Знаете ли вы, есть ли ловушки для этих ключевых слов?Я знаю, что странно переопределять поведение по умолчанию and & or, но мне нужно это для построения абстрактного синтаксического дерева, начиная с формулы Python во время выполнения, на самом деле не хочу странно изменять его семантику.

Если нет, я бы хотел изменить сам язык, чтобы иметь эту поддержку.Если есть какой-то хороший эксперт, который мог бы предложить мне правильный способ сделать это, пожалуйста, поднимите руки вверх, в противном случае, я думаю, я попрошу Гвидо об этом:)

Большое спасибо, хлопоты!

1 Ответ

2 голосов
/ 27 октября 2010

is, and и or не могут быть перегружены. Используйте Python language services , если вы хотите написать Pythonesque DSL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...