第二十九节 对有返回值的函数进行装饰、通用装饰器

def set_func(func):
    # print('装饰器开始装饰了...')
    def call_func(*args, **kwargs):
        print('....权限1.....')
        print('....权限2.....')
        return func(*args, **kwargs)  # 这里没有return返回none
    return call_func
    
@set_func  # 等价于 test1 = set_func(test1) 
def test1():
    print(".......这是test1......%d" % num)
    print(args)
    print(kwargs)
    return 'ok'

ret = test1(100)  # 这里相当于返回call_func函数的返回值
print(ret)


'''
通用装饰器:
def set_func(func):
    # print('装饰器开始装饰了...')
    def call_func(*args, **kwargs):
        print('....权限1.....')
        return func(*args, **kwargs)
    return call_func
@set_func 
def test1():
    pass

'''

猜你喜欢

转载自www.cnblogs.com/kogmaw/p/12602565.html
今日推荐