python装饰器

简单地说:装饰器是修改其他函数的功能的函数,有助于让我们的代码更简短。

  

def a(func):
    def use_a():
        print("before using func")
        func()
        print("after using func")
    return use_a
    
def b():
    print("using b")

b()
# output: using b

b = a(b)
b()
# output:
before using func
using b
after using func

上面的例子中,b函数为原函数,a可以理解为装饰器。通过b = a(b),实际上将b函数变成了use_a函数。这里涉及到python万物皆为对象的概念。

当然我们可以直接使用@来对函数装饰。

def a(func):
    def use_a():
        print("before using func")
        func()
        print("after using func")
    return use_a

@a   
def b():
    print("using b")

b()
#output:
before using func
using b
after using func

这是对装饰器基础的了解,还有待更新。

posted @ 2019-09-04 20:44  耳东三羊  阅读(118)  评论(0编辑  收藏  举报