什么是python函数?学过python的小伙伴会知道,在python中用【def + 函数名+参数】的方式定义函数,即:

python 匿名函数加判断 python匿名函数定义_python 匿名函数加判断


这样的函数拥有函数名,调用函数只需要:

python 匿名函数加判断 python匿名函数定义_python_02


python 匿名函数加判断 python匿名函数定义_数据分析_03


暂且把def定义的函数叫作“有名函数”,

那什么是匿名函数呢?顾名思义,这类函数没有显示地定义函数名。

匿名函数不需要显示地定义函数名,使用【lambda + 参数 +表达式】的方式,即:

python 匿名函数加判断 python匿名函数定义_数据挖掘_04


也就是说,lambda用来表示匿名函数,可以传入多个参数,但只能有一个表达式。下图可以看出匿名函数的独特之处:

python 匿名函数加判断 python匿名函数定义_线性代数_05


比方说,我要写一个函数用于两个数相乘

如果用def方式来写:

python 匿名函数加判断 python匿名函数定义_数据分析_06


用匿名函数来写:

python 匿名函数加判断 python匿名函数定义_python_07


可以看到,上面我们把匿名函数对象赋给一个变量,只要直接调用该对象就可以使用匿名函数:

python 匿名函数加判断 python匿名函数定义_线性代数_08


你也可以给匿名函数传入一个参数:

python 匿名函数加判断 python匿名函数定义_线性代数_09


以上对匿名函数作了解释,也举了一些例子用以说明。那么,匿名函数的优点是什么呢?

  1. 不用取名称,因为给函数取名是比较头疼的一件事,特别是函数比较多的时候。
  2. 可以直接在使用的地方定义,如果需要修改,直接找到修改即可,方便以后代码的维护工作。
  3. 语法结构简单,不用使用def 函数名(参数名):这种方式定义,直接使用lambda 参数:返回值 定义即可。