小作业7
6.现有以下函数,利用装饰器为此函数加上认证功能,也就是只有用户名为'python', 密码为'123'才能调用此函数,否则不允许
def my_log(name):
print('%s欢迎登陆'%(name))
import functools def mylog_in(mylog): rootname = 'python' rootkey = '123' input_name = input('user:') input_key = input('password:') @functools.wraps(mylog) def dec(): if input_name == rootname and input_key == rootkey: mylog(input_name) else: print('登录失败') return dec @mylog_in def my_log(name): print('%s欢迎登陆'%(name)) my_log()
7.利用装饰器为函数加上统计执行时间的功能。
提示 time模块中的time()函数可以获取当前时间
import functools import time def dec(f): @functools.wraps(f) def decsumn(num): starttime= time.time() x = f(num) endtime = time.time() usetime= endtime -starttime print('共计使用了%f秒'%usetime) return x return decsumn @dec def sumn(n): res = n for i in range (n): res +=i return res q = sumn(100) print(q)