首页 > 其他 > 详细

2018.12.14 今日所学

时间:2018-12-15 20:46:56      阅读:161      评论:0      收藏:0      [点我收藏+]

关于函数的装饰器

1 .装饰器,(难点,重点)

开闭原则:  

  对功能的扩展开放

  对代码的修改是封闭

 通用装饰器语法:

def wrapper(fn):

  def inner(*args,**kwargs):

    在目标函数之前加功能

    ret=fn(*args,**kwargs)

    在目标函数之后加功能

    return ret

  return inner

@wrapper  @就表示装饰器

def func():

  pass

func()  

2. 同一个函数被多个装饰器装饰  (就近原则)

@wrapper1

@wrapper2

@wrapper3

def func:

  pass

装饰效果 :  1 2 3 func 3 2 1

3. 带参数的装饰器  ( 略 微 难 受 )

def wrapper_out(参数):

  def wrapper(fn):

    def inner(*args,**kwargs):

      在目标函数之前

      net=fn(*args,**kwargs)

      在目标函数之后

      return net

    return inner

  return wrapper

@wrapper_out(实参)  #执行的时候,先执行函数的调用,将返回值和前面的@组合成装饰器语法糖

def func():

  pass

func()

2018.12.14 今日所学

原文:https://www.cnblogs.com/zty1304368100/p/10119637.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!