Python装饰器,就是这么强大!
装饰器(Decorators)是 Python 的一个重要部分。简单地说:它们是修改其他函数的功能的函数。有助于让我们的代码更简短,也更Pythonic(Python范儿)。很多Pythoner不知道在哪儿使用它们,哪些区域里装饰器可以让代码更简洁。通过本文的学习让你理解并学会装饰器,让你更Pythonic!来一起学习吧。 1. 装饰器的定义 就是给已有函数增加额外功能的函数,它本质上就是一个闭包函数。装饰器的功能特点: 1、不修改已有函数的源代码 2、不修改已有函数的调用方式 3、给已有函数增加额外的功能 4、闭包和装饰器的区分: 如果闭包函数的参数有且只有一个,并且是函数类型,那么这个闭包函数称之为装饰器。写代码要遵循开放封闭原则,它规定已经实现的功能代码不允许被修改,但可以被扩展。 2. 装饰器的示例代码 # 定义装饰器 def decorator(func): def inner(): # 在内部函数里面对已有函数进行装饰 print('已添加登录认证') func() return inner def comment(): print('发表评论') # 调用装饰器对已有函数进行装饰,左边的comment=inner comment = decorator(comment) # 调用方式不变 comment() 3. 装饰器的语法糖写法