Python进阶---高阶函数

高阶函数: 变量名可以指向函数,因此函数可以通过变量传给另一个函数。

高阶函数: 一个函数可以作为参数传给另外一个函数,或者一个函数的返回值为另外一个函数(若返回值为该函数本身,则为递归),满足一种就可以称为高阶函数。

由此可知:

  • 函数可以作为被调用的对象
  • 函数可以作为普通变量,也可以作为函数的参数、返回值

栗子1:

f = abs
print(f(-1))

结果为: 1

栗子2:

# 求取两个数的绝对值之和
def add(x, y, f):
    return f(x)+f(y)

print(add(-4, 5, abs))

得到结果为: 9

栗子3:参数为函数

def School():
    print("in the school..")
def Home(func):
    func()
    print("in the home..")

Home(School)

结果为:
in the school…
in the home…

栗子4:返回值为函数

def School():
    print("in the school..")
def Home(func):
    print("in the home..")
    return func()
    
Home(School)

def School():
    print("in the school..")
def Home(func):
    print("in the home..")
    return func
    
res = Home(School)
res()

以上两种代码结果相同,这样写只是为了更加深刻的说明以下注意点:
1.函数名代表的是该函数的内存地址;
2.函数名+括号代表的是调用该函数。


练习:
求取 根号x加根号y的和:

import math

def add(x, y, f):
    return f(x) + f(y)

print(add(25, 9, math.sqrt))

得到结果为: 8
大家加油

学习笔记网址
Python高阶函数


冷笑话

一锅青蛙煮于釜,其乐融融

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值