zoukankan      html  css  js  c++  java
  • 装饰器延伸及例题

    # 1.装饰器接受可变的参数模型
    # def zsqi(func):
    # def zshs(*args,**kwargs):
    # print("欢迎使用装饰器!")
    # ret=func(*args,**kwargs)
    # return ret
    # return zshs
    # @zsqi
    # def test1(name,age):
    # print("我的名字是【%s】,年龄【%s】" %(name,age))
    # test1("张三",18)
    #
    # @zsqi
    # def test2(name,age,xb):
    # print("我的名字是【%s】,年龄【%s】,我是个【%s】" % (name, age,xb))
    # test2("李四",19,"男孩")
    # 2.装饰器运用的例题,模拟网上商城的验证功能。
    name="aa"
    passwd="123"
    def yanzheng(func):
    def jiance(*args,**kwargs):
    username=input("请输入用户名:").strip()
    userpasswd=input("请输入密码:").strip()
    if username==name and userpasswd==passwd:
    print("验证通过")
    ret=func(*args,**kwargs)
    return ret
    else:
    print("输入用户名或密码有误,请重新输入")
    return jiance
    @yanzheng
    def index(name):
    print("欢迎【%s】来到XX购物网站" %(name))
    @yanzheng
    def buycar(name):
    print("欢迎【%s】购买的【%s】" % (name,["汽水,面包,白菜,鲜奶"]))
    def buy():
    print("准备好结账吧")

    index("张三")
    buycar("张三")
  • 相关阅读:
    用指针方法排序数组
    struct和typedef struct
    结构体类型定义的一般式
    HDOJ1020 Encoding
    malloc函数详解
    新手入门 acm 输入输出练习
    【算法入门】广度/宽度优先搜索(BFS)
    C++栈和队列
    hdu畅通工程
    codevs 2639 约会计划
  • 原文地址:https://www.cnblogs.com/Centwei/p/10516547.html
Copyright © 2011-2022 走看看