初识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()

嵌套函数:

  定义: 在一个函数中,再定义了另一个函数,就叫嵌套函数

实例:

# 嵌套函数
def foo():
    print('嵌套函数1')
    def bar():
        print('嵌套函数2')
    bar()
foo()
世风之狡诈多端,到底忠厚人颠扑不破; 末俗以繁华相尚,终觉冷淡处趣味弥长。
原文地址:https://www.cnblogs.com/simple-li/p/9741120.html