码迷,mamicode.com
首页 > 其他好文 > 详细

装饰器

时间:2018-09-27 20:41:43      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:对象   开放   size   style   top   目标   out   def   展开   

1.什么是装饰器

  器=>工具

  装饰=>指的是为被装饰对象添加新功能

 

  装饰器本身可以是任意可调用的对象=>函数

  被装饰的对象也可以是任意可调用的对象=>函数

 

  目标:写一个函数来为另外一个函数添加新功能

 

2.为何要用装饰器

  开放封闭原则:软件一旦上线就应该对修改封闭,对扩展开放

    对修改封闭:

      1.不能修改功能的源代码

      2.也不能修改功能的调用方式

 

    对扩展开放:

      可以为原有的功能添加新的功能

  

  装饰器就是要在不修改功能源代码以及调用方式的前提下为原功能添加额外新的功能

3.如何用装饰器

import time

def index():
    print(hello)
    time.sleep(1)


def outter(func):
    def wrapper():
        start=time.time()
        func()
        stop=time.time()
        print(time is %s%(stop-start))
    return wrapper

index=outter(index)
index()

 

装饰器

标签:对象   开放   size   style   top   目标   out   def   展开   

原文地址:https://www.cnblogs.com/xiamenghan/p/9715300.html

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