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


本文摘自php中文网,作者anonymity,侵删。

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

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

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

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

#!/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()

运行结果:

阅读剩余部分

相关阅读 >>

新手学Python用什么书

pycharm和Python一样吗

Python中操作文件之seek()方法的使用

Python合并两个字典的效率实例比较

Python多线程的优点是什么?六大优点助你了解多线程

关于Python中的__init__与__new__以及__call__三个方法的简单介绍

Python函数写斐波那契数列

Python使用正则表达式过滤或替换html标签方法介绍

Python安装路径怎么找

Python网络编程之tcp套接字的简单用法

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...