12/12 day06
6.
现有以下函数,利用装饰器为此函数加上认证功能,也就是只有用户名为'python', 密码为'123'才能调用此函数,否则不允许
def my_log(name):
print('%s欢迎登陆'%(name))
1 def decorator(f): 2 def authen(name): 3 s1 = str(input('请输入用户名:')) 4 if s1 != 'python': 5 return print('用户名错误') 6 n = int(input('请输入密码:')) 7 if n != 123: 8 return print('密码错误') 9 f(name) 10 return authen 11 12 @decorator 13 def my_log(name): 14 print('%s欢迎登陆'%(name)) 15 name = 'python' 16 my_log(name)
7.利用装饰器为函数加上统计执行时间的功能。
提示 time模块中的time()函数可以获取当前时间
1 import time 2 def decorator(ti): 3 def time_interval(name): 4 n = input(print('开始统计执行时间')) 5 t1 = time.time() 6 print(t1) 7 m = input(print('结束执行')) 8 t2 = time.time() 9 print(t2) 10 t = t2 - t1 11 ti(name) 12 print('执行时间是{}秒'.format(t)) 13 return time_interval 14 @decorator 15 def watch(name): 16 print('%s'%(name)) 17 name = str(input('请输入项目:')) 18 watch(name)