zoukankan      html  css  js  c++  java
  • 函数进阶_装饰器进阶

    #装饰器的进阶
    #functools wraps
    #带参数的装饰器
    #多个装饰器修饰同一个函数

    #周末的作业---->三级菜单作业还没写

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

    # def warpper():
    #
    # def inner():
    #
    # ret = func()
    # return ret
    # return inner
    #
    # @warpper
    # def qqxing():
    # print("username, password")
    # qqxing()
    FLAG = False
    def login(func):
    def inner(*args, **kwargs):
    global FLAG
    '''登陆程序'''
    if FLAG:
    ret = func(*args, **kwargs)
    return ret

    else:
    username = input("username:")
    password = input("password:")

    if username == "boss" and password == "222":
    FLAG = True
    ret = func(*args,**kwargs)
    return ret
    else:
    print("登陆失败")
    return inner

    @login
    def shoplist_add():
    print("增加一件物品")
    @login
    def shoplist_del():
    print("删除一件物品")

    shoplist_add()
  • 相关阅读:
    新的知识点
    知识点
    9.14知识点
    列表内容
    css的背景和边框
    css的text和font
    css
    js 第一天
    浏览器的差距
    布局
  • 原文地址:https://www.cnblogs.com/jly1/p/9592420.html
Copyright © 2011-2022 走看看