我的问题围绕实现Python装饰器的预期寿命。根据realpython.org,它说:
假设我在一家网站开发公司工作,在所有网页的顶部调用此Python函数
如果我们决定这个改变是永久的,那么装饰器是保留这个永久修改的最好方式吗?
注意:上面的例子是来自这个链接的装饰器示例(稍作修改):如何在Python中创建函数装饰器链?
在我看来,装饰器经常用于在线示例中临时修改或扩展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!"
如果我们决定这个改变是永久的,那么装饰器是保留这个永久修改的最好方式吗?
注意:上面的例子是来自这个链接的装饰器示例(稍作修改):如何在Python中创建函数装饰器链?
login_require
的装饰器,可以将其附加到表示仅可由已登录用户查看的网页的函数上,装饰器使未登录的人首先被重定向到登录页面。如果不使用装饰器,则必须在所有这些函数的开头放置几行代码来手动检查用户并将其重定向... - Bakuriu