=分割线=

一、核心 3 个基础知识点

1. 变量可以指向函数

  • abs(-10)带括号 → 调用函数,返回计算结果
  • abs不带括号 → 函数本身
  • 可以把函数赋值给变量:
f = abs   # 变量f 指向 abs函数
print(f(-10))

👉 结论:函数也是一种数据,可以赋值给变量


2. 函数名本身就是变量

  • absmaxmin 本质都是变量

  • 如果你强行赋值:abs = 10

  • 再写 abs(-10) 直接报错

    原因:

    abs
    

    不再是函数,变成整数了,数字不能加括号调用


3. 什么是【高阶函数】(必考)

定义

如果一个函数,参数可以接收另一个函数,它就是高阶函数。

✅ 核心逻辑:

变量能存函数 → 函数能当参数传 → 形成高阶函数


二、课本经典案例(你练过无数次)

# 高阶函数
def add(x, y, f):
    return f(x) + f(y)

# 传入 abs 函数当作参数
print(add(-5, 6, abs))

一步步执行流程

  1. 传参:x=-5,y=6,f=abs
  2. f(x) = abs(-5) = 5
  3. f(y) = abs(6) = 6
  4. 相加:5+6=11
  5. 返回打印结果

三、你必须分清的两种写法(再也不报错)

  1. 单参数函数abs()
# 正确
def add(x,y,f):
    return f(x) + f(y)
  1. 双参数函数max() / min()
# 正确
def calc(a,b,f):
    return f(a,b)

四、本节终极背诵小结

  1. 不带括号 = 函数本身,可以赋值、可以传参
  2. 函数名是变量,可以被重新覆盖
  3. 接收函数作为参数的函数 = 高阶函数
  4. 函数式编程的基础就是:高阶函数

=分割线=

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐