python中匿名函数lambda如何用

python中经常用到的一个函数:匿名函数lambda ,什么是匿名函数?匿名函数的意义是什么?匿名函数怎么样用?(疑问三连,what,why,how)

一,什么是匿名函数?

python中没有名字的函数,称为匿名函数。语法格式:lambda  x : x**2  既 lambda+形参:代码块

二,匿名函数的意义是什么?

一是它没有名字,所以不会引起命名冲突,二是它格式简单,代码块直接return返回值,比较灵活方便,而且因为没有名字,用完就丢弃了,不占内存。

三,匿名函数怎么用?

这个得举例子,借用一下廖雪峰老师得例子得瑟一下(雪峰老师,此处一鞠躬):

在Python中,对匿名函数提供了有限支持。还是以map()函数为例,计算f(x)=x2时,除了定义一个f(x)的函数外,还可以直接传入匿名函数:

>>> list(map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9]))
[1, 4, 9, 16, 25, 36, 49, 64, 81]

通过对比可以看出,匿名函数lambda x: x * x实际上就是:

def f(x):
    return x * x

匿名函数也是一个函数对象,也可以把匿名函数赋值给一个变量,再利用变量来调用该函数:
>>> f = lambda x: x * x
>>> f
<function <lambda> at 0x101c6ef28>
>>> f(5)
25

同样,也可以把匿名函数作为返回值返回,比如:

def build(x, y):
    return lambda: x * x + y * y

匿名函数单独存在意义不大,通常是跟其他函数配合使用,用完就丢弃,比较方便,就像一次性餐具,用一次就扔了,但是方便呀!达拉达拉(达拉达拉,点个赞再走呗........)
 

原文地址:https://www.cnblogs.com/chaojiyingxiong/p/9691375.html

时间: 2024-12-08 04:50:45

python中匿名函数lambda如何用的相关文章

python进阶一(函数式编程)【2-7 python中匿名函数】

python中匿名函数 高阶函数可以接收函数做参数,有些时候,我们不需要显式地定义函数,直接传入匿名函数更方便. 在Python中,对匿名函数提供了有限支持.还是以map()函数为例,计算 f(x)=x2 时,除了定义一个f(x)的函数外,还可以直接传入匿名函数: 1 >>> map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9])#lambda x 就是定义的一个函数, x * x就是直接传入的函数 2 [1, 4, 9, 16, 25, 36

python的匿名函数lambda解释及用法

lambda函数的语法只包含一个语句,如下:    lambda arg1,arg2,.....argn:expression(主要是看下面的例子)代码示例: #-*- coding:utf-8 -*- #__author__ = "www.iplaypy.com" # 普通python函数 def func(a,b,c): return a+b+c print func(1,2,3) # 返回值为6 # lambda匿名函数 f = lambda a,b,c:a+b+c print

python tips:匿名函数lambda

lambda用于创建匿名函数,下面两种函数定义方式等价. 1 f = lambda x: x + 2 2 3 def f(x): 4 return x + 2 立刻执行的匿名函数 (lambda x: print(x))(2) 输出结果 1 2 匿名函数实现闭包 1 f = lambda x:lambda y: x & y 2 3 x = 1 << 5 4 t = f(x) 5 print(t(0)) 6 print(t(32)) 7 8 # f的等价形式 9 def f(x): 10

Python进阶-Ⅷ 匿名函数 lambda

1.匿名函数的引入 2.匿名函数的定义 3.有关面试题 1)下面程序输出的结果是? 1 d = lambda p:p*2 2 t = lambda p:p*3 3 x = 2 4 x = d(x) 5 x = t(x) 6 x = d(x) 7 print(x) 8 # # todo:但是x的值是在变化的, 9 # # 从x=2 ---> x = d(x) = x*3 = 6 ---> x = t(x) = x*2 = 12 --> x = d(x) = x*2 = 24 10 # ''

python之匿名函数lambda

# lambda:匿名函数 # 语法:lambda 参数: 表达式 answer = lambda x: x * 5 print("answer(5): ", answer(5)) # lambda做为参数 def test_fun(x=lambda x: x * 5): return x(5) n = test_fun(lambda x: x * 5) print("x(5): ", n) 运行结果: answer(5): 25 x(5): 25

Python学习笔记010——匿名函数lambda

1 语法 my_lambda = lambda arg1, arg2 : arg1 + arg2 + 1 arg1.arg2:参数 arg1 + arg2 + 1 :表达式 2 描述 匿名函数不需要return来返回值,表达式本身结果就是返回值. lambda 仅简洁了代码,并不会提高程序运行效率 如果可以用 for...in...if 来完成的,最好不使用匿名函数lambda 使用lambda时,函数内不要包含循环.嵌套:如果存在,则最好使用def函数来完成,这样的代码可读性和复用性均较高 l

在Python中递归函数调用举例and匿名函数lambda求1~100的和及计算阶乘举例

1.递归列出目录里的文件的脚本举例列出目录中的文件可以通过下面方法:os.listdir() In [1]: import os In [4]: os.listdir('/root') Out[4]: ['.tcshrc', '.bash_history', '.bashrc', 'ENV', '.cache', '.config', '.cshrc', '.bash_logout', 'python', '.ssh', 'shell', '.bash_profile', '.ipython',

python学习三十三天函数匿名函数lambda用法

python函数匿名函数lambda用法,是在多行语句转换一行语句,有点像三元运算符,只可以表示一些简单运算的,lambda做一些复杂的运算不太可能.分别对比普通函数和匿名函数的区别 1,普通的函数用法 def func(): print('aaa') func() 2,匿名函数的用法 f=lambda x,y:x*y m=f(3,5) print(m) 输出结果 15 匿名比较复杂的用法条件判断,匿名函数一般搭配函数内置函数使用 map() 文章来自(www.96net.com.cn) 原文地

匿名函数lambda python

lambda 的主体是一个表达式,不是一个代码块lambda 只有一行,仅仅能在lambda表达式种封装有限的逻辑进去匿名函数:需要一个函数,而又不想动脑筋去想名字 #普通函数的定义 def f(a,b,c): return a+b+c print(f(1,2,3)) # 匿名函数lambda f1 = lambda a,b,c:a+b+c print(f1(2,3,4)) 用匿名函数lambda做些事: 1.输入一个序列,求长度 number = lambda n:len(n) print(n