……

python装饰器

装饰器

装饰器= 高阶函数+函数嵌套+闭包

高阶函数

import time

def foo():
      time.sleep(3)
      print('from to foo')

def timer(func):
      start_time=time.time()
      func()
      stop_time=time.time()
      print('函数运行时间是 %s'  %(stop_time- start_time))
      return func
foo=timer(foo)
foo()

 函数嵌套

def  foo(name):
        print('传入参数 %s' %name)
        def    nam():
                print('传入参数 %s' %name)
                def    na()
                        name = 'alxe'
                        print('传入参数 %s' %name)
                na()
        nam()
foo('小明')

 闭包就是函数作用域的体现

装饰器

def    timmer(func):
    def    wrapper():
            print(func)
            func()    
    return    wrapper
@timmer
text()

@timmer 糖果

多参数调用

def    timmer(func):
    def    wrapper(*args,*kwargs):
            print(func)
            func(*args,*kwargs)    
    return    wrapper
@timmer
text()

 

posted @ 2018-12-20 19:10  十零  阅读(244)  评论(0编辑  收藏  举报