Python装饰器demo
Python装饰器demo
健康的程序员 发表于1个月前
Python装饰器demo
  • 发表于 1个月前
  • 阅读 2
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 十分钟定制你的第一个小程序>>>   

无参

def test(fun):
    print('log - 1')

    def decorator(a, b):
        print('log - 3')
        fun(a, b)
        print('log - 4')

    print('log - 2')
    return decorator


@test
def fun(a, b):
    print(a + b)


if __name__ == '__main__':
    fun(10, 20)


output:
-----------------
log - 1
log - 2
log - 3
30
log - 4

有参

def test(arg):
    print('log - 1')

    def _start(fun):
        print('log - 3')

        def decorator(a, b):
            print('log - 5 ')
            fun(a, b)
            print(' log - 6')

        print('log - 4')
        return decorator

    print('log - 2')
    return _start


@test('abc')
def fun(a, b):
    print(a + b)


if __name__ == '__main__':
    fun(10, 20)


output:
--------------------
log - 1
log - 2
log - 3
log - 4
log - 5 
30
 log - 6

 

共有 人打赏支持
粉丝 7
博文 81
码字总数 27958
×
健康的程序员
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: