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