#装饰器带参数
'''
带参数的装饰器是三层的
最外层的函数负责接受装饰器参数
里面的内容还是源装饰器的内容
'''
def outer(a): #第一层 :负责接受参数的
def decorate(func): #第二层:负责接受函数的
def wrapper(*wargs,**kwargs): #第三层:负责接受函数的参数
func(*wargs)
print('------>铺地砖{}块'.format(a))
return wrapper
return decorate
@outer(10)
def house(time):
print('我{}日期拿到了房子钥匙,是毛坯房....'.format(time))
@outer(100)
def street():
print('新修街道名字是:黑泉路')
house("2019-6-12")
street()
执行结果:
我2019-6-12日期拿到了房子钥匙,是毛坯房....
------>铺地砖10块
新修街道名字是:黑泉路
------>铺地砖100块