zoukankan      html  css  js  c++  java
  • 函数小练习

    flage = 0
    def wapper(fun):#fun是被装饰的函数   #wapper是给fun装饰函数的装饰器函数
        def inner(*args,**kwargs):#接收任意类型的参数
            global flage #局部变量变成全局变量
            #登录功能
    
            if flage==1:
                ret = fun(*args,**kwargs) #fun是被装饰的函数
                return ret
            else:
                username=input('请输入用户名:')
                password=input('请输入密码')
                if username=='aaa'and password=='123456':
                    flage=1#登录成功设置为1用global
                    ret=fun(*args,**kwargs)
                    return ret#函数fun返回值
                else:
                    print('登录失败')
        return inner#返回函数名()
    
    @wapper#等同于shopp_add=wapper(shopp_add)
    def shopp_add():
        print('增加一个物品')
    @wapper#等于shopp_del=wapper(shopp_del)
    def shopp_del():
        print('删除一个物品')
    
    shopp_add()
    shopp_del()
    
    运行结果:
    请输入用户名:Mr.Gao
    请输入密码123456
    增加一个物品
    删除一个物品
    
    def log(fun):
        def inner(*args,**kwargs):
            res=fun(*args,**kwargs)
            with open('log.txt','a') as f: #a代表给文件追加内容
                f.write(fun.__name__+'
    ')
            return res
        return inner
    @log#等同于shoplist_add=kwargs(shoplist_add)
    def shoplist_add():
        print('增加一个物品')
    
    @log
    def shoplist_del():
        print('删除一个物品')
    shoplist_add()
    shoplist_del()
    shoplist_add()
    shoplist_del()
    
    运行结果:
    增加一个物品
    删除一个物品
    增加一个物品
    删除一个物品
    
  • 相关阅读:
    java基础:9.2 接口implements,Comparable,Cloneable接口
    java基础:9.1 抽象类
    java基础:9.4 web爬虫
    java基础:6.0 ArrayList
    java基础:9.3 从web上读取数据
    java基础:12.1 文本I/O(一)
    3.2 FPGA 配置电路/主模式 从模式 JTAG模式
    谷歌浏览器查看HTTP协议
    MIME类型说明
    常见的响应码说明
  • 原文地址:https://www.cnblogs.com/gfhh/p/11601006.html
Copyright © 2011-2022 走看看