Python decorator that let's method run or raise an exception

血红的双手。 提交于 2019-12-02 03:47:48
def parametrised_decorator(parameter):
    def parametrised(function):
        @functools.wraps(function)
        def inner(*args, **kwargs):
            if parameter:
                return function(*args, **kwargs)
            else:
                raise Exception()

        return inner

    return parametrised
def my_Decorator(arg=None):
    def decorator(func):
        def wrapper(*args, **kwargs):
            if arg:
                return func(*args, **kwargs)

            else:
                raise Exception()

        return wrapper

    return decorator
from functools import wraps


def my_decorator(f):
    @wraps(f)
    def wrapper(*args, **kwargs):
        if kwargs.pop('runit', None):
            return f(*args, **kwargs)
        else:
            raise Exception()
    return wrapper


@my_decorator
def example():
    print('example')


if __name__ == '__main__':
    # runs function
    example(runit=True)
    # runs exception
    example()
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!