王涛12.12作业

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

def my_log(name):

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


import functools

def decorator(main):
    @functools.wraps(main)
    def qwer(*args):
        a=input('请输入账户:')
        b=input('请输入密码:')
        if a=='wangtao'and b=='123':
            main (*args)
        else:
            print('账户或密码错误,即将退出程序。')
    return qwer


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


my_log(123)

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

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



import time
import functools
def decorator(main):
    @functools.wraps(main)
    def asd(x):
        n=time.time()
        main(x)
        p=time.time()
        print('本次共运行{}秒'.format(p-n))
    return asd


@ decorator
def cbd(x):
    print (x**2)

print(cbd(62))

  

  

猜你喜欢

转载自www.cnblogs.com/wangtao62/p/10111591.html