20180418-装饰器1

装饰器:

定义:本质时函数,(装饰其他函数)就是为其他函数添加功能。

原则:1,不能修改被装饰的函数的源代码

      2,不能修改被装饰的函数的调用方式。

      3

实现装饰器知识储备:

     1,函数即“变量”

     2,高阶函数

              A:把一个函数名当作实参传给另外一个函数(在不修改被装饰器函数源代码的情况下为其添加功能)

              B:返回值中包含函数名(不修改函数的调用方式)

     3,嵌套函数

import time

def timmer(func):
    def warpper(*args,**kargs):
        start_time = time.time()
        func()
        stop_time = time.time()
        print('the func run time is %s'%(start_time - stop_time))
@timmer
def test1():
    time.sleep(3)
    print("in the test1")

test1()

高阶函数:
import time

def bar():
    time.sleep(3)
    print("in the bar")
print(bar)

def test2(func):
   print(func)
   return func
print(bar)
#bar = test2(bar)
#print(bar)
#bar()

猜你喜欢

转载自blog.csdn.net/weixin_42020378/article/details/79998419