Должен ли я перегрузить sin (x) из более стандартной математической библиотеки или мне нужно разработать собственный метод класса sin? - PullRequest
0 голосов
/ 24 октября 2019

Мне нужно написать модуль «автоматического дифференцирования», в котором стандарт sin(x), cos(x), exp(x) должен быть перегружен, чтобы включить дополнительный расчет по производной. Для «+, -, /» я просто использовал метод Дандера, такой как __add__ и т. Д. Но как насчет sin(x), cos(x), exp(x)? Лучше определить мои собственные методы (основанные на math.sin(x) и т. Д.) Или как-то перегрузить их, как я делал с +, -, /. Если последнее лучше, как мне это сделать?

1 Ответ

1 голос
/ 25 октября 2019

Определите свои собственные. Если другое приложение импортирует ваш пакет, а затем обнаружит, что sin() не соответствует ожиданиям, все может взорватьсяВ целом, в Python очень не одобряются библиотеки «monkey patch».

...