装饰器本质就是一个闭包,它可以在不修改原函数及其调用方式下对原函数进行扩展
对于修改是封闭的,对扩展是开放的
装饰器函数是一个工厂型函数,接受一个函数作为参数,返回一个新函数,提取大量重复代码,提高代码的重用性
def func(fun): def inner(*args,**kwargs): ret = fun(*args,**kwargs) return ret return inner @func def fun(*args,**kwargs): return 1
装饰器本质就是一个闭包,它可以在不修改原函数及其调用方式下对原函数进行扩展
对于修改是封闭的,对扩展是开放的
装饰器函数是一个工厂型函数,接受一个函数作为参数,返回一个新函数,提取大量重复代码,提高代码的重用性
def func(fun): def inner(*args,**kwargs): ret = fun(*args,**kwargs) return ret return inner @func def fun(*args,**kwargs): return 1