Bootstrap

匿名函数

引入

1.编程范式

  • 编程范式指的是编程的套路
  • 主要的套路有三种 : 命令式编程, 函数式编程, 逻辑式编程
  • 常见的面向对象就是命令式编程, 常见的面向过程就是逻辑式编程

2.函数式

  • 什么是函数式
🍋函数式编程中的函数指的并不是编程语言中的函数(或方法)
🍋它指的是数学意义上的函数,即映射关系(如:y = f(x)),就是 y 和 x 的对应关系
  • 函数式与逻辑式
🍋比起逻辑式, 函数式更加注重的是执行结果并非执行的过程
  • Python提供的函数式编程特性
🍋Python并不是一门函数式的编程语言,但却提供了很多函数式编程的特性
🍋比如 : lambda, max, min, map, reduce, filter

一.匿名函数

1.什么是匿名函数

  • 没有名字的函数

2.应用场景

  • 临时用一次, 通常用于与其他函数配合使用

3.匿名函数的强调点

  • 匿名函数的目的就是要没有名字, 给匿名函数赋值一个名字没有意义
  • 匿名函数的参数规则, 作用域关系与有名函数是一样的
  • 匿名函数的函数体通常应该是一个表达式, 该表达式必须要有一个返回值

4.匿名函数与有名函数的对比

  • 有名函数
🍋有函数名,循环使用,保存了名字,通过名字就可以重复引用函数
def foo(x,y):
    return x**y
foo(2,3)  # 8
  • 匿名函数
🍋没有函数名,一次性使用,随时随地定义
f = lambda x,y:x ** y
print(f(2,4))  # 16
# 一般配合应用 : max, min, sorted, map, reduce, filter

5.匿名函数的调用方式

  • 方式一 : 直接加括号执行
res = (lambda x, y: x + y)(7,8)
print(res)  # 15
  • 方式二 : 给函数指定名字
f = lambda x,y:x ** y
print(f(2,4))  # 16
🍋匿名函数的本质就是没有名字,这里指定名字是没有意义的(匿名函数只用于临时调用一次)
🍋匿名函数一般用来与其他函数配合使用,以下来展开介绍

二.匿名函数的应用

1.max( ) : 最大值

  • 接收两个参数 : ([可迭代对象],[函数])

2.min( ) : 最小值

  • 接收两个参数 : ([可迭代对象],[函数])

3.sorted( ) : 排序

  • 接收三个参数 : ([可迭代对象],[函数],[排列顺序])

  • 如果传入的可迭代对象是字典, 默认是按照字典的 “key” 来进行排序的

    • sorted 函数会迭代可迭
;