Могу ли я предотвратить использование моего пользовательского класса? - PullRequest
0 голосов
/ 01 июня 2019

Я создаю свой пользовательский класс, который является подклассом object.(Никакой другой суперкласс не доступен из-за приоритета __r(operator)__.)

Так как этот класс не является классом sympy, он приветствуется всякий раз, когда я пытаюсь применить его к функциям sympy, и это вызывает проблемы.

Есть ли способ заставить его вернуть себя, когда это проявится?Например, так же, как sympify(sin(x)) возвращает sin(x), я хочу, чтобы экземпляр моего класса вел себя так: sympify(instance) для возврата instance.

1 Ответ

0 голосов
/ 01 июня 2019

Попробуйте добавить определение для _sympy_ в вашем классе: def _sympy_(self): return self или, может быть, Basic(self) ... но тогда SymPy не сможет работать с такими выражениями. Можете ли вы привести пример того, что вы пытаетесь сделать? Также доступен миксин CantSympify, но он вообще не даст объекту проявиться.

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