1、现有以下函数,利用装饰器为此函数加上认证功能,也就是只有用
户名为'python', 密码为'123'才能调用此函数,否则不允许
def my_log(name):
print('%s欢迎登陆'%(name))
def decorater(f):
def log():
name = input("请输入用户名:")
password = int(input("请输入用户密码:"))
if name == "python" and password == 123:
f(name)
else:
print("用户名和密码不匹配")
return log
@decorater
def my_log(name):
print("%s欢迎登陆"%(name))
my_log()
2、利用装饰器为函数加上统计执行时间的功能。提示 time模块中的time()函数可以获取当前时间
import time
def decorator(f):
def wrapper():
t = time.time()
f()
t1 = time.time()
print(t1-t)
return wrapper
@decorator
def tm():
print("程序开始与结束相差时间为:",end=" ")
tm()