码迷,mamicode.com
首页 > 其他好文 > 详细

高阶函数

时间:2018-03-25 12:10:59      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:finish   实参   gpo   post   计时   star   time   函数返回值   函数返回   

‘‘‘
高阶函数:
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()

  

高阶函数

标签:finish   实参   gpo   post   计时   star   time   函数返回值   函数返回   

原文地址:https://www.cnblogs.com/ericbai/p/8643164.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!