python的装饰器

# 什么是装饰器
# 1,不修改源代码的情况,添加新功能
# 2,又可以用原函数名直接调用
# 3,装饰器实际上就是个闭包
 1 def fun(func):                          #将要被装饰的函数名传给func
 2     def decorator(*args,**kwargs):      #
 3         print("看看谁来了!!")            #函数调用前执行的语句
 4         func(*args,**kwargs)            #完成用原函数名直接调用
 5         print("他又走了!!")              #函数调用后执行的语句
 6     return decorator
 7 @fun        #语法糖,相当于fun1 = fun(fun1)
 8 def fun1():
 9     print("我是fun1!")
10 @fun        #fun2 = fun(fun2)
11 def fun2():
12     print("我是fun2!")
13 
14 fun1()
15 fun2()
原文地址:https://www.cnblogs.com/NoteBook3013/p/10268235.html