Python中的装饰器

来源:互联网 发布:java server error 编辑:程序博客网 时间:2024/05/16 17:48

自定义装饰器

def foo():    print("发布文章")def verify(func):    #验证用户权限    def verify_inner():        print("验证用户权限")        func()    return verify_innerfoo = verify(foo)#~ verify()#~ foo()foo()

假设我们要增强printx函数的功能,比如,在函数调用前判断x的值是否符合我们的要求,但又不希望修改printx函数的定义,这种在代码运行期间动态增加功能的方式,称之为“装饰器”(Decorator)。

参考 :https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014318435599930270c0381a3b44db991cd6d858064ac0000

def checkx(func):    def decfunc(x):        if x > 0:            print('x不能大于0')            return        else:            func(x)    return decfunc@checkxdef printx(x):    print(x)#~ printx(2)printx(-2)
原创粉丝点击