python 修饰器和偏函数

一 修饰器

>>>import time

>>>def timeit(func):
        def wrapper():
            start = time.clock()
            func()
            end=time.clock()
            print “执行时间” , end-start
        return wrapper
>>>@timeit
>>>def foo():
       print "foo"
       
>>>foo()  #执行后结果输出 foo 和  执行时间0.000135

解释:@timeit相当于foo = timeit(foo) ,这就是修饰器。

二 偏函数 (偏函数模块 functools)

>>>import functools

>>>#例1   #如果不带base= ,默认绑定的是第一个参数,这里第一个参数应该是一个str,如例2
>>>int2 = functools.partial(int,base=2)  
>>>int2("10101")       #返回10

>>>#例2
>>>int2 = functools.partial(int,"123")
>>>int2()     #返回 123

>>>#例3
>>>int2 = functools.partial(int,"11111",2)  #绑定前两个参数
>>>int2()     #返回15

>>>#例4
>>>m2 = functools.partial(max,10)
>>>m2(1,2,3)       #返回10

注释:functools.partial 函数就是给一个函数,绑定参数。



你可能感兴趣的:(python 修饰器和偏函数)