2018.12.14 今日所学

Posted zty1304368100

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2018.12.14 今日所学相关的知识,希望对你有一定的参考价值。

关于函数的装饰器

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 今日所学的主要内容,如果未能解决你的问题,请参考以下文章

2018.12.20 今日所学

2018.12.13 今日所学

今日所学

今日所学

2018.12.12 今日所学

今日所学