def test_org(arg):
def test(func):
def test_in(*args,**kwargs):
print ("log 日志为 %s"%arg)
a=func(*args,**kwargs)
return a
return test_in
return test
@test_org(" 哈哈 ,这个是装饰器的参数 请接纳")
def f1():
return "被装饰函数"
print(f1())
# 执行过程如下 :
#1. @test_org("arg") ,先执行 test_org 函数 , 执行这个函数 之后 ,看看返回的是什么 ,
# 2. 返回的是 test, test 是一个闭包函数, 符合装饰器的特征, 然后再执行装饰器 ,进行装饰
# 3. 传递的参数 可以在 test_in 函数体应用,这样就达到了, 应用装饰器参数 进行不同场景的应用 ,更多的不同的参数 可以自己试试 。
打印结果如下:
log 日志为 哈哈 ,这个是装饰器的参数 请接纳
被装饰函数