python 装饰方法

Posted 下路派出所

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 装饰方法相关的知识,希望对你有一定的参考价值。

    def _concurrent(func):
        @wraps(func) # 加入这个的目的是保持原来方法的属性
        def arg_wrapper(self, *args, **kwargs):
            try:
                jc = self.available_jc.pop()
                # return f is function
                f = getattr(jc, func.__name__)
                r = f(*args, **kwargs)
                self.available_jc.append(jc)
                return r
            except IndexError:
                raise RuntimeError(Too many concurrent connections!
                                   Try to increase the value of "max_concurrency", 
                                   currently =%d % self.max_concurrency)

        return arg_wrapper

 

    @_concurrent
    def subjective_judge(self, **kwargs):
        pass

 

 

    @property
    @_concurrent
    def server_status(self):
        pass

 

以上是关于python 装饰方法的主要内容,如果未能解决你的问题,请参考以下文章

允许子类在python中指定他们想要装饰的方法

Python装饰器理解

Python 装饰器是做啥的,它的代码在哪里? [复制]

python 函数 装饰器的使用方法

python之装饰器

Python装饰器