码迷,mamicode.com
首页 > 编程语言 > 详细

python 高阶函数

时间:2016-12-28 21:45:02      阅读:314      评论:0      收藏:0      [点我收藏+]

标签:python 高阶函数

高阶函数也遵循函数即变量的形式

高阶函数的形式:

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

如:

def abc():

    print(‘this is abc‘)


def def(func):

    print(func)


def(abc())

====结果=======出来的是一个内存地址

<function agc at 0x00......> 

高阶函数实例

import time

def bar():

    time.sleep(3)

def test1(func):

    start_time = time.time()

    func()

    stop_time = time.time()

    print(‘func run time %s‘ %(stop_time - start_time ))

test1(bar)  #注意bar后面不能加括号,一加括号就不是传内存地址了,而把bar的返回值传给test1了,就不是高阶函数了




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


import time

def bar():

    time.sleep(3)

    print(‘this is bar)

def test1(func):

    start_time = time.time()

    func()

    stop_time = time.time()

    print(‘func run time %s‘ %(stop_time - start_time ))

    return func

bar = test1(bar)

返回的是一个内存地址



python 高阶函数

标签:python 高阶函数

原文地址:http://daring.blog.51cto.com/891785/1886849

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