-
给每个函数写一个记录日志的功能,要求,每次一调用函数之前,都要将函数名称,时间节点记输出。
请使用strftime()获取年月日时分秒。函数名:fn.__name__
import time
import functools
def strftime(fn):
@functools.wraps(fn)
def wrapper(*args,**kwargs):
whenbegin = time.time()
s = fn(*args,**kwargs)
whenend = time.time()
print('[现在的时间是:%s] 函数名:%s,运行时间:%.6f,运行返回值结果:%d' %(time.ctime(),
fn.__name__,whenbegin - whenend,s))
return s
return wrapper
@strftime
def add(s1,s2):
time.sleep(1)
return s1+s2
print(add(1,10))
-
编写装饰器,在每次执行目标函数之前先让用户输入用户名和密码,给用户三次机会,登录成功才能访问目标函数。