Python中通过修饰器判断函数参数,决定是否执行函数

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ying86615791/article/details/81287402

修饰器是make_decorate
要修饰的函数是my_func
现在希望判断my_func的参数x
如果x==1, 就执行my_func;
否则, 就不执行my_func, 执行其他动作

代码如下:

def make_decorator(func):
    print('aaa')
    def decorator(x, *args, **kwargs):
        print('bbb')
        if x==1:
            return func(x, *args, **kwargs)
        else:
            return 'Not run func'
    return decorator

@make_decorator
def my_func(x):
    print("ccc")
    return x

# 如果x=1
x_return = my_func(x=1)
print("x_return: {}".format(x_return))

# 如果x=2
print("\n\n")
x_return = my_func(x=1)
print("x_return: {}".format(x_return))

修饰器func就是要修饰的函数, 里面的decorator()的参数和func的参数保持一致

猜你喜欢

转载自blog.csdn.net/ying86615791/article/details/81287402