zoukankan      html  css  js  c++  java
  • 装饰器

    装饰器本质上就是一个python函数,他可以让其他函数在不需要做任何代码变动的前提下,增加额外的功能,装饰器的返回值也是一个函数对象

    应用场景:比如插入日志、性能测试、事务处理、缓存、权限校验等场景

    一、装饰器的简单事例

    def timer(func):
        def inner(*args,**kwargs):
            """执行函数前要做的"""
            ret=func(*args,**kwargs)
            """执行函数后要做的"""
            return ret
        return inner
    @timer
    def func():
        print('我是一只小小鸟')
    
    func()#我是一只小小鸟

    在修饰的func函数前打印"哈哈哈",函数执行后打印"呵呵"

    def timer(func):
        def inner(*args,**kwargs):
            print('哈哈哈')
            ret=func(*args,**kwargs)
            print('呵呵呵')
            return ret
        return inner
    
    @timer
    def func():
        print('我是一只小小鸟')
    func()
    """
    哈哈哈
    我是一只小小鸟
    呵呵呵
    """

    二、带参数的装饰器

    def timer(func):
        def inner(*args,**kwargs):
            print('哈哈哈')
            ret=func(*args,**kwargs)
            print('呵呵呵')
            return ret
        return inner
    
    @timer
    def func(name):
        print('%s是一只小小鸟'%name)
    func('abc')
    """
    哈哈哈
    abc是一只小小鸟
    呵呵呵
    """
  • 相关阅读:
    GCC默认的标准不是ANSI C,而是GNU C90
    C/C++预定义宏
    GCC对C标准的支持
    Tupper's selfreferential formula
    VC++对C标准的支持
    一道笔试题
    C语言标准
    FLVPlayback视频
    getDefinitionByName与ApplicationDomain.getDefinition
    SVN
  • 原文地址:https://www.cnblogs.com/z-x-y/p/9177903.html
Copyright © 2011-2022 走看看