• 3/23


    一:编写函数,(函数执行的时间用time.sleep(n)模拟)

    import time

    def fuc1(name):
        time.sleep(2)
        print('%s大帅B,你好'%name)

    fuc1('egon')

    二:编写装饰器,为函数加上统计时间的功能

    import time

    def outter(func):
        def wrapper(*args,**kwargs):
            start=time.time()
            res = func(*args,**kwargs)
            end=time.time()
            print(end-start)
        return wrapper

    @outter
    def fuc1(name):
        time.sleep(2)
        print('%s大帅B,你好'%name)

    fuc1('egon')

    三:编写装饰器,为函数加上认证的功能

    import time

    def outter(func):
        def wrapper(*args,**kwargs):
            name=input('输入你的账号: ')
            pwd=input('输入你的密码: ')
            if name=='egon' and pwd == '123':
                res = func(*args,**kwargs)
                return res
            else:
                print('账号或密码错误!')
        return wrapper

    @outter
    def fuc1(name):
        time.sleep(2)
        print('%s大帅B,你好'%name)

    fuc1('egon')

    四:编写装饰器,为多个函数加上认证的功能(用户的账号密码来源于文件),要求登录成功一次,后续的函数都无需再输入用户名和密码

    import time

    login = {"user_name":None}
    def outter(func):
            def wrapper(*args,**kwargs):
                if login["user_name"] !=None:
                    res = func(*args, **kwargs)
                    return res
                else:
                    user_name=input('请输入你的账号: ')
                    pass_word=input('请输入你的密码: ')
                    with open('pwd.txt','r',encoding='utf-8')as file1:
                        for line in file1:
                            name,pwd=line.strip().split(':')
                            if user_name==name and pass_word==pwd:
                                print('登录成功!')
                                login[user_name]=pass_word
                                res = func(*args, **kwargs)
                                return res
                        else:
                            print('登录失败!')
            return wrapper

    @outter
    def fuc1(name):
        time.sleep(2)
        print('%s大帅B,你好'%name)

    fuc1('egon')

    五:编写装饰器,为多个函数加上认证功能,要求登录成功一次,在超时时间内无需重复登录,超过了超时时间,则必须重新登录

    import time

    login = {"user_name": None, 'start_time': 0}


    def outter(func):
        def wrapper(*args, **kwargs):
            end = time.time()
            if login["user_name"] != None and end - login['start_time'] < 5:
                res = func(*args, **kwargs)
                return res
            else:
                user_name = input('请输入你的账号: ')
                pass_word = input('请输入你的密码: ')
                with open('pwd.txt', 'r', encoding='utf-8')as file1:
                    for line in file1:
                        name, pwd = line.strip().split(':')
                        if user_name == name and pass_word == pwd:
                            print('登录成功!')
                            login[user_name] = pass_word
                            res = func(*args, **kwargs)
                            return res
                    else:
                        print('登录失败!')

        return wrapper


    @outter
    def fuc1(name):
        time.sleep(2)
        print('%s大帅B,你好' % name)


    fuc1('egon')

  • 相关阅读:
    csr_matrix参数解析
    SQL删除重复数据(根据多个字段),pandas的nan存入数据库报错
    XGBoost参数中文翻译以及参数调优
    pandas.DataFrame.quantile
    pandas.DataFrame.rank
    JOIN子句
    ORDER BY子句
    WHERE子句
    SELECT语句
    数据分析-基础
  • 原文地址:https://www.cnblogs.com/bailongcaptain/p/12555576.html
Copyright © 2020-2023  润新知