1、装饰没有参数的函数
def function(func):
def func_in():
print('这里是需要装饰的内容,就是需要添加的内容')
func()
return func_in
def test():
print('无参函数的测试')
test = function(test)
test() 这里再次掉用test()的时候,其实是将会调用闭包内的函数func_in()。所以将会起到装饰修改的作用,最后会再次调用原函数test()。
@function #装饰器的python写法,等价于test = function(test),并且无需调用当代码运行道这里,Python会自动运行。
def test():
print('无参函数的测试')
test()
2、装饰带有参数的函数
def function(func):
def func_in(*args,**kwargs):
print('这里是需要装饰的内容,就是需要添加的内容')
func(*args,**kwargs)
return func_in
@function #装饰器的python写法,等价于test = function(test) .
def test():
print('无参函数的测试')
test(5,6)