python之高阶函数

一:高阶函数的定义:

1)函数接受的参数是一个函数名

2)函数的返回值是一个函数名

3)满足上述条件任意一个,都可称之为高阶函数

二:示例

#函数的参数是个函数名
import time
def foo():
    print("nihao")

def test(func):
    print(func)
    start_time = time.time()
    func()
    stop_time = time.time()
    print("函数的运行时间是 %s" %(stop_time-start_time))
test(foo)

  

三:

#想要为foo加上新共能,不修改源代码
import time
def foo():
    time.sleep(3)
    print("来自foo")
#不修改foo源代码
#不修改foo调用方式

def timer(func):
    star_time = time.time()
    func()
    stop_time = time.time()
    print("函数运行时间是:%s" %(stop_time-star_time))
    return  func
foo=timer(foo)
foo() #保证函数的调用方式不被改变
#上面这段代码多运行了一次,不合格,
#结论:高阶函数自己满足不了装饰器

  

猜你喜欢

转载自www.cnblogs.com/wangyue0925/p/8973147.html