【1.49】装饰器--1

li = [1,"a"]

li.__iter__()

或者 iter(li)

装饰器 本来就是函数 

为函数添加附加功能

原则 就是:

不修改 被修饰函数的代码

不修改 被修饰函数的调用方式

遵循开放封闭原则,就是上线的程序不能修改源代码

一个函数一个功能

装饰器的知识储备:

装饰器就是  高阶函数  函数嵌套  闭包

实例:

import time
import sys
def timer(func):
    def wappy(*args,**kwargs):
        start_times = time.time()
        res = func(*args,**kwargs)
        stop_times = time.time()
        print("函数运行时间:%s"%(stop_times-start_times))
        return res
    return wappy

@timer
def cal(l):
    print(sys.path)
    res = 0
    for i in range(l):
        time.sleep(0.1)
        res += i
    print(res)
    return res
cal(10)

 

posted @ 2016-04-15 21:30  科学小怪癖  阅读(80)  评论(0)    收藏  举报