本文实例讲述了python函数装饰器用法。分享给大家供大家参考。具体如下:
装饰器经常被用于有切面需求的场景,较为经典的有插入日志、性能测试、事务处理等。装饰器是解决这类问题的绝佳设计,
有了装饰器,我们就可以抽离出大量函数中与函数功能本身无关的雷同代码并继续重用。概括的讲,装饰器的作用就是为已经存在的对象添加额外的功能。
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
#! coding=utf-8 |
输出:
?
1 2 3 |
test start |
装饰器修饰带参数的函数:
?
1 2 3 4 5 6 7 8 9 10 |
def parameter_test(func): |
输出:
?
1 2 3 4 |
>>> |
装饰器修饰不确定参数个数的函数:
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
def much_test(func): |
输出:
?
1 2 3 4 5 6 |
test start |
带参数的装饰器,再包一层就可以了:
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
def tp(name,age): |
输出:
?
1 2 3 4 5 |
in much_test |
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
class locker: |
输出:
?
1 2 3 4 5 6 |
>>> |
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
class mylocker: |
输出:
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
before myfunc called. |
希望本文所述对大家的Python程序设计有所帮助。