python装饰器的作用和功能,python函数装饰器详解
本文主要介绍python设计模式的修饰模式。文章基于python的设计模式数据,展开了装修模式的细节,有一定的参考价值,有需要的朋友可以参考一下。
00-1010装饰模式python装饰语法糖
目录
装饰器模式解决什么问题?
在不改变原有函数和代码选择的情况下添加新函数,并根据不同情况动态调整函数装饰器。顾名思义,就是用来装饰其他实物,在不改变被装饰对象的情况下,增加被装饰对象的功能。这就好比我们买车的时候,同一个车型有很多可选功能,但是车的核心功能保持不变。在购买的时候,我们可以根据自己的需求选择不同的配置。
如何实现?
想象你是一名室内装潢师。想装修汽车,首先需要一辆车,装修过程中不能改变汽车原有的功能(界面)。
如类图所示:
核心函数Core和所有decorators都必须实现接口Interface。所有的decorators都以组合的方式保存接口实例ClassCore 3360。
def some_action():
及格
班级装饰者:
def __init__(self,core):
自我核心=核心
def some_action():
.
self.core.some_action()
.
装饰器模式
装饰器是经常使用的,python特殊的语法糖简化了装饰器的使用。最外层的函数接收一个函数对象,返回内部的函数,这是一个真正的执行函数。
#装饰定义
定义装饰器(功能):
def包装(*args,**kwargs):
.
result=func(*args,**kwargs)
.
回送结果
返回包装
#装饰器使用
@装饰者
定义函数():
及格
虽然形式变了,但是实质没有变:保存接口实例并实现相同的接口。
保存接口实例很容易理解,因为func对象是传入的。如何实现界面一致?语法@xxxx的运算等价于func=decorator(func),即内部函数重命名为原来的函数名。关于python设计模式的修饰模式的这篇文章到此为止。关于python装饰的更多信息,请搜索盛行IT软件开发工作室之前的文章或者继续浏览下面的相关文章。希望大家以后多多支持盛行的IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。