匿名函数lambda(),主要是应用在临时函数场景。比如,我需要临时计算一元二次方程,如果单独写个函数,势必增加函数块,导致结构散乱。这个时候,我们就可以使用匿名函数来完成临时函数的定义。
语法:lambda x : exp
其中,lambda是匿名函数关键字;x是匿名函数的形参,可以为多个;冒号“:”是形参和表达式的分界线;exp为函数主体表达式。
实例演示:
>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> a = lambda x : x**2+3*x-10
>>> a
lambda> at 0x000002885FCDFEC0>
>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> x = np.linspace(-10,20,300)
>>> y = list(map(a,x))
>>> plt.plot(x,y)
[object at 0x0000028866563910>]
>>> plt.title('$y=x**2+3*x-10$')
Text(0.5, 1.0, '$y=x**2+3*x-10$')
>>> plt.xlabel('x')
Text(0.5, 0, 'x')
>>> plt.ylabel('y')
Text(0, 0.5, 'y')
>>> plt.show()
上述代码,使用lambda定义了一个匿名函数(输入x,计算出y),并赋值给a(与def a():定义的函数一样,此时的函数名即为a,只不过它用一行代码就完成了)。而后利用Matplotlib包完成了该一元二次方程的画图,效果如下:
从上述的代码可以看到,使用lambda定义的匿名函数,仅需要1行即可完成临时函数的定义,也可以用于后面的计算,甚至可以直接写在需要的代码中,如下:
>>> a = lambda x : x**2+3*x-10
>>> y = list(map(a,x))
>>> y = list(map(lambda x:x**2+3*x-10,x))
上述方式1和方式2的效果是一样的,都可以实现期望目标,在实际的使用中可以自行考虑如何使用。
-----------------------------
延伸阅读:
Python入门:第 1 章 Python 介绍
Python入门:第 2 章 环境搭建与第一个程序
Python入门:第 3 章 基本语法
Python入门:第 4 章 数据结构
Python入门:第 5 章 函数
Python入门:第 6 章 类
Python入门:第 7 章 文件读写
Python入门:第 8 章 Python多进程
Python入门:第 9 章 进程间通信
Python入门:第 10 章 消息队列
自动化办公1——初识Pandas
自动化办公2——Pandas数据结构
自动化办公3——Pandas数据操作1
自动化办公3——Pandas数据操作2
自动化办公4——Pandas数据组合、连接与重构
自动化办公5——Pandas数据透视表
自动化办公6——Pandas数据分组1
自动化办公6——Pandas数据分组2
自动化办公7——Pandas画图
数据可视化——matplotlib基础
数据可视化——matplotlib进阶
数据可视化——seaborn初识
数据可视化——seaborn绘制关系图
数据可视化——seaborn绘制分布图
科学计算1——Numpy初识
科学计算2——Numpy数组操作
科学计算3——Numpy数组变形
科学计算4——Numpy的索引与切片
科学计算5——Numpy的基本计算
科学计算6——Numpy的矩阵运算
使用 NumPy 求解线性方程组:一个完整案例
更多内容请查看微信公众号。
---------知识需要分享,需要传播---------
这里是Python知识驿站,致力于知识传播,让更多人了解Python、使用Python、爱上Python。如果你是一名程序员、业余开发者、IT从业者,或者任何一名对Python感兴趣的人,都可以加入Python知识驿站,让我们一同畅享在知识的海洋中。
---------关注我,获得更多知识---------