¿Cuál es la vida útil prevista de un decorador de Python?

Mi pregunta gira en torno a la vida útil prevista de un decorador Python implementado. Derealpython.org dice:

"Por definición, un decorador es una función que toma otra función y extiende el comportamiento de esta última sin modificarla explícitamente".

Para mí, parece que los decoradores se usan con bastante frecuencia en ejemplos en línea para modificar o ampliar temporalmente una función de Python, como en los ejemplos de formato html.

Ejemplo:

Digamos que trabajo en una empresa de desarrollo web y en la parte superior de todas mis páginas web llamo a esta función Pythonpage_welcome().

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

Ahora, algún desarrollador se une a la compañía y decide que deberíamos hacer que esto se destaque más modificando la función con algunosnegrita ycursiva.

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!"

Si decidimos que este cambio es permanente, ¿son los decoradores la mejor manera de dejar esta modificación permanente?

Nota: El ejemplo anterior es el ejemplo del decorador de este enlace (modificado ligeramente):¿Cómo hacer una cadena de decoradores de funciones?

Respuestas a la pregunta(1)

Su respuesta a la pregunta