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

初识python:高阶函数

时间:2018-10-04 10:03:02      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:art   函数调用   情况   参数   情况下   UNC   star   print   初识   

定义:

  变量可以指向函数,函数的参数能接收变量,那么,一个函数可以接收另一个函数作为参数,这种函数就称之为高阶函数。

  简单说就是:把函数当差参数传递的函数就是高阶函数

原则:

  1、不能修改被装饰函数的源代码;

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

实例1:

# abs 内置取绝对值函数
def add(a,b,f):
    return f(a) + f(b) #a的绝对值+b的绝对值
print(add(1,-2,abs)) # 取3,-6的绝对值之和

返回值:3

 

在不修改被装饰函数源代码的情况下为其添加功能,实例2:

import time
def bar():
    time.sleep(2)
    print(第一个函数)

def test1(func):
    start_time=time.time() #开始时间
    func() #调用bar函数
    stop_time=time.time() #结束时间
    print(函数运行时间:,stop_time-start_time)
test1(bar)

 

不改变函数调用方式,例3:

import time
def bar():
    time.sleep(2)
    print(第一个函数)
def test2(func):
    print(func)
    return func
#test2(bar) #传递变量内存地址
#test2(bar()) #传递变量值,不符合高阶函数规范
bar=test2(bar)
bar()

 

初识python:高阶函数

标签:art   函数调用   情况   参数   情况下   UNC   star   print   初识   

原文地址:https://www.cnblogs.com/simple-li/p/9741120.html

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