现有以下函数,利用装饰器为此函数加上认证功能,也就是只有用户名为'python', 密码为'123'才能调用此函数,否则不允许
def my_log(name):
print('%s欢迎登陆'%(name))
import functoolsdef decorator(f): @functools.wraps(f) def wrapper(*args,**kw): n=input('请输入用户名:') if n=='python': l=int(input('请输入密码:')) if l==123: return f(*args,**kw) return wrapper else: return print('你输入的密码有误') else: return print('你输入的用户名有误') return wrapper @decoratordef my_log(name): print('%s欢迎光临' %name)my_log('王涛')
7.利用装饰器为函数加上统计执行时间的功能。
提示 time模块中的time()函数可以获取当前时间
import timeimport functoolsdef decorator(f): @functools.wraps(f) def wrapper(*arg,**kw): n=time.time() i=f(*arg,**kw) n2=time.time() n3=n2-n return print('计算平方的时间是{},结果是{}' . format(n3,i)) return wrapper@decoratordef nbb(x): return x**9 nbb(100)