DAY 13 开放封闭原则

装饰器:

  即是用一个函数去拓展另一个函数,同时遵循开放封闭原则

开放封闭原则

  对修改关闭,对拓展开放

  不允许修改源代码以及调用方式

以下是无参函数的基本格式

 def outer(func):
def wrapper(*args,**kwargs):
# 新功能
res=func(*args,**kwargs)
return res
return wrapper

无参函数的语法糖是

@装饰器函数名称 必须写在被装饰函数的正上方

而且装饰器的定义,必须在被装饰函数的上方

也可以使用多个装饰器函数给同一个函数装饰

@装饰器1

@装饰器2

def func()

  pass

装饰顺序是先装饰器2给func装饰,然后是装饰器1

调用的时候是装饰器1先执行,然后是装饰器2的代码,然后是func()

有参装饰器模板

def m_outter(file):
def outter(func)
def wrapper(*args,**kwargs):
#函数体代码
res=func(*args,**kwargs)
return res
return wrapper
return outter

上面是有参装饰器模板,使用m_outter函数给内部装饰器进行传值,

如果内部wrapper()需要借助外部函数给其传值,则使用有参装饰器,

有参数装饰器的语法糖

@m_ouuter(参数)

func  #被装饰函数

上一篇:[No00001A]天天换图,百词斩到底在折腾啥


下一篇:Cocos Creator 为Button添加事件的两种方法