通用装饰器

 1 import time
 2 def funcOut(func):
 3     def funcIn(*args,**kwargs):
 4         writeLog(func)
 5         return func(*args,**kwargs)
 6     return funcIn
 7 def writeLog(func):
 8     print('访问方法名:',func.__name__,'\t时间:',time.asctime())
 9 @funcOut # 相当于执行:sum = funcOut(sum),
10          # 变量sum 和 funcIn 均指向内部函数,调用内部函数sum(10,20)
11 def sum(a,b):
12     return a + b
13 @funcOut
14 def add(a,b,c):
15     return a + b + c
16 result = sum(10,20)
17 print('两数之和:',result)
18 result = add(10,20,30)
19 print('三数之和:',result)
1 问方法名: sum        时间: Sun May 17 10:24:01 2020
2 两数之和: 30
3 访问方法名: add        时间: Sun May 17 10:24:01 2020
4 三数之和: 60

 

posted @ 2020-05-17 10:24  小他_W  阅读(151)  评论(0编辑  收藏  举报