python装饰器简单例子,装饰器python的通俗理解

  python装饰器简单例子,装饰器python的通俗理解

  Python视频教程讲解装饰器

  免费推荐:Python视频教程

  装饰器概念

  装饰者,说白了,就是一个用来装饰功能的函数

  装修者遵循开闭原则,依托倒置原则。这两个原则和概念是自成立的。

  装饰器长啥样

  def包装材料(f):

  def inner(*args,**kwargs):

  ret=f(*args,**kwargs)

  返回ret

  上面的代码是装饰者的固定格式调用装饰器

  @wrapper #语法糖简称

  定义测试():

  打印(1)

  Test()@wrapper是一个调用装饰器。与wrapper(test())相比,节省代码,更美观。可能你看到这里就不理解了。为什么要@wrapper?调用函数不是wrapper()?

  实际上,如果你想让我告诉你,我不知道。我就知道。这样写比较容易。只需在要装饰的函数之前@wrapper就可以是以一个小例子快速看懂装饰器.

  def包装材料(f):

  打印(2)

  def inner(*args,**kwargs):

  打印(3)

  ret=f(*args,**kwargs)

  打印(4)

  返回ret

  返回内部

  @包装

  定义测试():

  打印(1)

  Test()@wrapper==wrapper(test())相当于调用decorator函数。直接使用语法sugar @wrapper会更简单*args是匹配position传入参数的参数,**kwargs是匹配keyword传入参数的参数,这样就可以接收到所有的参数。Wrapper(test)接收值并将其传递给f,在内圆函数中,ret=f(*args,**kwargs)。这个函数是修饰函数的代码。然后返回执行的值,最后返回这个函数。这段代码的执行结果是:

  注射毒品

  3

  数字一(one)

  4如下图所示

  由此可见

  在内部函数中,print(3)是执行装饰函数之前的操作,print(4)是执行装饰函数之后的操作。

  可能很难理解。所以最好尝试一下。

  基础小练习

  1.无声装饰的固定格式

  2.写一个有加减法功能的装饰品。

  以上是Python基础装饰和练习的详细内容。其他相关文章请多关注盛行的IT软件开发工作室!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

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