6.现有以下函数,利用装饰器为此函数加上认证功能,也就是只有用户名为'python', 密码为'123'才能调用此函数,否则不允许
def my_log(name):
print('%s欢迎登陆'%(name))
#7.6 import functools def decorator(f): @functools.wraps(f) def wrapper(*args, **kw): s = input('请输入用户名:') if s != 'python': print('输入错误') return -1 s = str(input('请输入密码:')) if s != '123': print('输入错误') return -1 return f(*args, **kw) return wrapper @decorator def my_log(name): print('%s欢迎登陆'% name) my_log('ty')
7.利用装饰器为函数加上统计执行时间的功能。
提示 time模块中的time()函数可以获取当前时间
#7.7 import time import functools def decorator(f): @functools.wraps(f) def wrapper(*args, **kw): global t1 t1 = time.time() f(*args, **kw) t2 = time.time() t = t2 - t1 print('函数运行时间为%ss'% t) return 0 return wrapper @decorator def millonman(): i = 0 for i in range(10000000): i += 1 millonman()