初识python:高阶函数

Posted Simple-Sir

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初识python:高阶函数相关的知识,希望对你有一定的参考价值。

定义:

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

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

原则:

  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:高阶函数的主要内容,如果未能解决你的问题,请参考以下文章

十python沉淀之路--高阶函数初识

初识python: 装饰器

Python高阶函数

Python3 高阶函数

python之高阶函数

python中的高阶函数