‘‘‘ 高阶函数: 1 把一个函数名当作实参传递给另外一个函数(在不修改被装饰函数源代码情况下,为其添加功能) 2 返回值中包含函数名 ‘‘‘ import time #为bar函数添加计时功能 # def foo(func): # start_time = time.time() # func() # finish_time = time.time() # print("the bar function has run %s" % (finish_time-start_time)) # def bar(): # time.sleep(3) # print("in the bar") # #实现了新功能,没有修改bar的源代码,但是调用方式改变了 # foo(bar) #以函数返回值的形式,为bar函数添加计时功能 def foo(func): start_time = time.time() func() finish_time = time.time() print("the bar function has run %s" % (finish_time-start_time)) return func def bar(): time.sleep(3) print("in the bar") #不改变bar函数的调用方法为其添加功能 bar = foo(bar) bar()