python20181212

6.现有以下函数,利用装饰器为此函数加上认证功能,也就是只有用户名为'python', 密码为'123'才能调用此函数,否则不允许

def my_log(name):

  print('%s欢迎登陆'%(name))

from functools import*
def decorator(f):
    @wraps(f)
    def warp():
        name = input("用户名:")
        password = input("密码:")
        if name == "python" and password == "123":
            f(name)
    return warp


@decorator
def my_log(name):
    print("%s欢迎登陆" % (name))
my_log()

7.利用装饰器为函数加上统计执行时间的功能。

  提示 time模块中的time()函数可以获取当前时间

from time import*
from functools import*
def decorator(f):
    @wraps(f)
    def wapper():
        start = time()
        print(start)
        f()
        end = time()
        print(end)
        print("打印hello所执行的时间{}".format(end - start))
    return wapper
    

@decorator
def count():
    print("hello")
count()
原文地址:https://www.cnblogs.com/zhanggd/p/10110641.html