python装饰器的作用和功能,python函数装饰器详解

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: