标签:
第一步 简单函数
1 ‘‘‘ 简单的函数:调用两次‘‘‘ 2 def myfunc(): 3 print (‘myfunc() called.‘) 4 5 myfunc() 6 myfunc()
第二步 装饰器为调用函数提供附加功能
1 ‘‘‘替换函数(装饰) 2 装饰函数的参数是被装饰的函数对象,返回原函数对象 3 装饰的实质语句; myfunc = deco(myfunc)‘‘‘ 4 def deco(func): 5 print ("before myfunc() called.") 6 func() 7 print (" after myfunc() called.") 8 return func 9 10 def myfunc(): 11 print (" myfunc() called.") 12 13 myfunc = deco(myfunc) 14 myfunc() 15 myfunc()
第三步 使用语法 @ 来装饰函数
1 ‘‘‘使用语法@来装饰函数,相当于 myfunc = deco(myfun) 2 但新函数只在第一次被调用,且原函数多调用一次‘‘‘ 3 def deco(func): 4 print ("before myfunc() called.") 5 func() 6 print (" after myfunc() called.") 7 return func 8 9 @deco 10 def myfunc(): 11 print (" myfunc() called.") 12 13 myfunc() 14 myfunc()
第四步
标签:
原文地址:http://www.cnblogs.com/qinzhaijushi/p/4614578.html