返回顶部

python装饰器

装饰器

装饰器的本质: 就是不改变被装饰函数的代码以及原来函数的调用方式,增加新的功能

  • 简单不带参数的装饰器
def fun(fn):
    def inner():
        print('开始前')
        fn()
        print('结束后')

    return inner


@fun
def test():
    print('test')


test()

  

  • 带参数的装饰器函数
def wrapper(fn):
    def inner(*args, **kwargs):
     # 执行被装饰函数之前的操作 print('手机有网') ret = fn(*args, **kwargs) # 真正执行原来的代码
     # 执行被装饰函数之后的操作 return ret return inner @warpper # 等于func = wrapper(func) # inner def func(tools): print("使用%s上课" % tools) return "成功了" print(func("手机"))

  

 

posted @ 2021-08-20 17:09  fuju  阅读(43)  评论(0)    收藏  举报