Python装饰器总结

1.  方法装饰器

def f1(fun):
    print("1")
    def _f1():
        print("2")
        fun()
        print("3")
    print("4")
    return _f1

@f1
def f2():
    print("5")

f2()

'''
执行结果:
1
4
2
5
3
'''
2. 类中方法使用装饰器
def f1(fun):
    print("1")
    def wrapper(self,*args,**kwargs):
        print("2")
        fun(self,*args,**kwargs)
        print("3")
    print("4")
    return wrapper

class test:

    def __init__(self):
        pass

    def revive(self):
        print("revice from exception")

    @f1
    def f2(self,name,value="10086"):
        print("5"+name+value)

obj = test()
obj.f2("this param",value="10010")
1
4
2
5this param10010
3


猜你喜欢

转载自blog.csdn.net/cjh365047871/article/details/80112480
今日推荐