python 类的装饰器,python装饰器--原来如此简单

  python 类的装饰器,python装饰器--原来如此简单

  @ python装饰的包装

  第一个代码:@wraps未添加

  defuser_login_confirm(姓名) :

  打印(我是,姓名)。

  defdeco_fun(view_func):

  打印(准备转换。看吧。)

  defwrapper(:

  view_func()

  打印(转换完成。看吧。)

  返回包装

  返回装饰_乐趣

  @user_login_confirm (Pepper))。

  Def Edge of Freedom()):

  打印(我是),自由的命运。__name__))。

  自由的边缘。

  执行结果:

  我是奇利

  准备转型。

  它是包装纸

  变形完成。

  第二个代码:添加一个自由边缘函数。

  defuser_login_confirm(姓名) :

  打印(我是,姓名)。

  defdeco_fun(view_func):

  打印(准备转换。看吧。)

  defwrapper(:

  view_func()

  打印(转换完成。看吧。)

  返回包装

  返回装饰_乐趣

  @user_login_confirm (Pepper))。

  Def Edge of Freedom()):

  打印(我是),自由的命运。__name__))。

  Def Edge of Freedom()):

  打印(我是),自由的命运。__name__))。

  自由的边缘。

  执行结果:

  我是奇利

  准备转型。

  我是自由的命运。

  添加了第三个代码:@wraps

  从functools导入包装

  defuser_login_confirm(姓名) :

  打印(我是,姓名)。

  defdeco_fun(view_func):

  Print()已准备好转换。看吧。)

  @wraps(view_func)

  defwrapper(:

  view_func()

  打印(转换完成。看吧。)

  返回包装

  返回装饰_乐趣

  @user_login_confirm (Pepper))。

  Def Edge of Freedom()):

  打印(我是),自由的命运。__name__))。

  自由的边缘。

  结论:

  装饰器会将被装饰的函数转换成包装器函数,甚至是函数名,但是您可以使用@ wrapps(func)返回函数名。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: