Каков предполагаемый срок службы декоратора Python?

Мой вопрос вращается вокруг предполагаемого времени жизни реализованного Python-декоратора. Отrealpython.org это говорит:

«По определению декоратор - это функция, которая принимает другую функцию и расширяет поведение последней функции без явного ее изменения».

Мне кажется, что декораторы довольно часто используются в примерах онлайн для временного изменения или расширения функции python, как, например, в примерах форматирования html.

пример:

Допустим, я работаю в компании, занимающейся веб-разработкой, и на вершине всех моих веб-страниц я называю эту функцию Python.page_welcome().

def page_welcome():
    return "Welcome to XYZ's company webpage!"

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

def makebold(fn):
    def wrapped():
        return "<b>" + fn() + "</b>"
    return wrapped    

def makeitalic(fn):
    def wrapped():
        return "<i>" + fn() + "</i>"
    return wrapped    

@makebold
@makeitalic
def page_welcome():
    return "Welcome to XYZ's company webpage!"

Если мы решим, что это изменение должно быть постоянным, являются ли декораторы лучшим выходом из этой постоянной модификации?

Примечание. Приведенный выше пример является примером декоратора по этой ссылке (слегка изменен):Как сделать цепочку функциональных декораторов?

Ответы на вопрос(1)

Ваш ответ на вопрос