# 装饰器带参数,一般都是三层
def first(a): # 第一层 :负责接收装饰器的参数
def second(func): # 第二层 :负责接收函数
def third(*args, **kwargs): # 第三层 ,负责接收函数的参数
func(*args)
print("----------------------这里是{}FM90.8".format(a))
return third # 返出来的是 第三层
return second # 返出来的是 第二层
@first('北京')
def fm():
print('我们开始收听广播!')
fm()
运行结果:
我们开始收听广播!
----------------------这里是北京FM90.8