绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
一文搞懂Python匿名函数
2020-06-19 09:52:38

什么是python函数

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

>>> def function_name(parameters):        ...

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

>>> function_name(input_parameter

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

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


认识匿名函数

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

>>> lambda [arg1 [,arg2, ... argN]] : expression

也就是说,lambda用来表示匿名函数,可以传入多个参数,但只能有一个表达式。

下图可以看出匿名函数的独特之处

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

如果用def方式来写:

>>> def f(x,y):    
...     return x*y
>>> f(2,3)
6

用匿名函数来写:

>>> func = lambda x,y:x*y

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

>>> func(2,3)
6

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

>>> func_2 = lambda x:x^2 
>>> func_2(3)
9

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

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

END

分享好友

分享这个小栈给你的朋友们,一起进步吧。

人生苦短,不如学Python
创建时间:2020-06-18 16:48:21
Python是一种跨平台的计算机程序设计语言。 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • liuxuhui
    专家
戳我,来吐槽~