20181213

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.clock()
        f()
        t1 = time.clock()
        print(t1-t)
    return wrapper
@decorator
def tm():
    print("程序开始与结束相差时间为:",end=" ")
tm()
原文地址:https://www.cnblogs.com/liuyibo007/p/10112099.html