Python中如何在一个函数中加入多个装饰器

anonymity
发布: 2020-09-17 16:11:26
原创
4208 人浏览过

python中在一个函数中加入多个装饰器的方法:可以在函数名前使用@逐一添加装饰器,如【@decorator1 @decorator2】。装饰器与对象一样,可以赋值给一个变量,也可以在其它函数中定义。

Python中如何在一个函数中加入多个装饰器

Python中的函数就是对象,可以进行赋值、定义,多个装饰器的需要在函数名前使用@进行逐一添加,执行顺序是从上往下的,具体的操作过程需要在函数装饰器中进行。

首先我们知道函数就是对象,因此对象可以赋值给一个变量,也可以在其他函数里定义。

所以装饰器也是一样,这个例子中自定义了两个装饰器,然后在test()函数上添加了两个装饰器,运行结果正常。

#!/usr/bin/env python  
#coding:utf-8  
def decorator1(func):  
    def wrapper():  
        print 'hello python 之前'  
        func()  
    return wrapper  
  
def decorator2(func):  
    def wrapper():  
        func()  
        print 'hello python 之后'  
    return wrapper  
 
@decorator1  
@decorator2  
def test():  
    print 'hello python!'  
  
test()
登录后复制

运行结果:

hello python 之前
hello python!
hello python 之后
登录后复制

以上是Python中如何在一个函数中加入多个装饰器的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板