python装饰器

装饰器是把一个函数当作参数传递给另一个函数,然后另一个函数接受后再返回一个函数。

 

1、简单的例子

  将func1函数传递给func2,然后func2返回函数func3,f接受

 1 def func1():
 2     print("wuya goog goog study")
 3 
 4 def func2(func):
 5     def func3():
 6         func()
 7         print("day day up")
 8 
 9     return func3()
10 
11 f = func2(func1)

 

2、带参

 1 def func1(func):
 2     # *args和**args表示参数不确定,*args可以看做是list。**args可以看做是个字典
 3     def func2(*args,**kwargs):
 4         print("*************")
 5         func(*args,**kwargs)
 6         print("*************")
 7 
 8     return func2
 9 
10 
11 @func1
12 # @相当于执行 func3 = func1(func3)
13 def func3(age):
14     print("wuya is %d" %age)
15 
16 f = func3(-10)

执行结果:

posted @ 2018-04-21 16:50  Tynam.Yang  阅读(196)  评论(0编辑  收藏  举报