#第七步:带有参数的装饰器 #两个基本函数用同一个装饰器装饰 def outer(arg): print(arg) #这是装饰器的代码 def kuozhan(func): print(func) #func接收的依然是eat和chifan #未来的eat函数 def neweat(): # 扩展功能1 print('饭前洗洗手') # 调用基本函数 func() # 扩展功能2 print('饭后溜溜腿') def newdrink(): # 扩展功能1 print('酒前真君子') # 调用基本函数 func() # 扩展功能2 print('酒后耍流氓') if arg == 'la': return neweat elif arg == 'chi': return newdrink #返回装饰器 return kuozhan #基本函数1 result = outer('la') @result #@装饰器函数 def eat(): print('吃饭') #基本函数2 @outer('chi') def drink(): print('喝酒') #调用基本函数 eat() # print(drink) # drink()