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