码迷,mamicode.com
首页 > 编程语言 > 详细

python 函数--装饰器

时间:2018-07-09 19:10:20      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:*args   时间   inner   time   int   rgs   pre   修改   star   

一、装饰器

1、为什么要用装饰器?

  装饰器的功能:在不修改原函数以及调用方式的情况下对原函数功能进行扩展。

 

二、开放和封闭原则

1、对扩展是开放的

2、对修改是封闭的

 

三、装饰器的固有结构

 1 import time
 2 def warpper(func):
 3     def inner(*args,**kwargs):
 4         ‘‘‘函数执行之前的内容扩展‘‘‘
 5         start = time.time()
 6         print(1)
 7         ret = func(*args, **kwargs)
 8         ‘‘‘函数执行之后的内容扩展‘‘‘
 9         end = time.time()
10         print(2)
11         print(end - start)#睡眠时间
12         return ret
13     return inner
14 
15 @warpper
16 def aaa():
17     time.sleep(3)
18     print(123456)
19 
20 aaa()
21 
22 
23 输出:
24 1
25 123456
26 2
27 3.0

 

四、带参数的装饰器

 

五、多个装饰器装饰一个函数

 

python 函数--装饰器

标签:*args   时间   inner   time   int   rgs   pre   修改   star   

原文地址:https://www.cnblogs.com/liubiaos/p/9284940.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!