装饰器

不修改函数代码但需要增加函数的功能时,可以使用装饰器。

闭包:
闭包就是一个函数,该函数能够读取其他函数内部的变量。

装饰器:
将函数传入一个闭包,该闭包返回一个函数(闭包),并将原函数名指向这个返回的函数(闭包)。

def set_func(func):
	def call_func(*args, **kwargs):  # 通用参数列表
		return func(*agrs, **kwargs)  # 需要加*,**拆包,否则为元组,字典
	return call_func  # 此处不需要加括号

@set_func  # 等价于:test = set_func(test),test为一个引用重新指向了一个闭包
def test():
	pass
posted @ 2019-08-18 12:12  bitbitbyte  阅读(78)  评论(0编辑  收藏  举报