Предполагая, что у меня есть декоратор и обернутая функция, подобная этой:
def squared(method):
def wrapper(x, y):
return method(x*x, y*y)
return wrapper
@squared
def sum(x, y):
return x+y
У меня есть другой код, который хотел бы вызвать недекорированную версию функции sum
. Есть ли трюк с импортом, который может привести меня к этому развернутому методу? Если мой код говорит from some.module.path import sum
, то я получаю завернутую версию метода sum
, а это не то, что мне нужно в данном случае. (Да, я знаю, что мог бы превратить это в вспомогательный метод, но это частично нарушает чистоту шаблона, который я здесь использую.)
Я могу добавить в декоратор дополнительную «магию», чтобы предоставить какое-то альтернативное имя символа (например, orig_sum
), которое я мог бы затем импортировать, я просто не знаю, как это сделать.