基本信息
文件名称:Python编程基础(第3版)(微课版)课件 5.2 匿名函数.pptx
文件大小:138.14 KB
总页数:12 页
更新时间:2025-05-27
总字数:约1.11千字
文档摘要

匿名函数;;匿名函数是指不使用def语句这样标准的形式定义一个函数,也就是说函数没有具体的名称。

使用lambda函数创建匿名函数可以省去定义函数的过程,同时可以避免函数的重复使用。

在lambda函数中,冒号前是函数参数,若有多个参数,需使用逗号分隔;冒号后是返回值。

使用lambda函数创建的函数没有具体的名称。创建函数的示例如下。;用lambda函数创建函数时,应该注意以下4点。

(1)lambda函数创建的是单行函数,如果需要创建复杂的函数,应使用def关键字。

(2)lambda函数可以包含多个参数。

(3)lambda函数有且只有一个返回值。

(4)lambda函数中的表达式不能含有命令,且仅限一个表达式。这是为了避免匿名函数的滥用,过于复杂的匿名函数反而不易于解读。

;Python允许将lambda函数作为对象赋值给变量,然后使用变量名进行调用。

例如,在Python的数学库中只有以自然数e和10为底的对数函数,而使用lambda函数即可创建以指定数为底的对数函数,示例代码如下。;;map函数是Python内置的高阶函数,它的基本格式为map(func,list)。

其中,func表示一个函数,list表示一个序列对象。在执行的时候,map函数把函数func按照从左到右的顺序依次作用在list的每个元素上,得到一个新的序列对象并返回。示例代码如下。;fib函数是一个递归函数,最典型的递归示例之一是斐波那契数列。

根据斐波那契数列的定义,可以直接写出斐波那契数列递归函数。fib函数示例代码如下。;在上述代码中,“fib(n1)+fib(n2)”是调用了fib函数自身而实现递归的。

为了明确递归的过程,介绍其计算过程如下(令n=3)。

(1)n=3,调用fib(3),判断后需计算fib(31)+fib(32)。

(2)先看fib(31),即fib(2),返回结果为2。

(3)再看fib(32),即fib(1),返回结果也为2。

(4)最后计算第(1)步,结果为fib(n1)+fib(n2)=2+2=4,将结果返回。

从而得到fib(3)的结果为4。从计算过程可以看出,每个递归的步骤都是向着最初的已知条件方向得到结果,然后一层层向上反馈计算结果。;filter函数是Python内置的另一个常用的高阶函数。

filter函数接收一个函数func和一个序列对象list,函数func的作用是对list中的每个元素进行判断,通过返回True或False来过滤掉不符合条件的元素,将符合条件的元素组成新的序列对象。filter函数示例代码如下。;;【任务5-3】多种方式实现数据累加