python中为什么要设置lambda函数? python中设置lambda的原因

小编给大家分享一下python中为什么要设置lambda函数?python中设置lambda的原因 , 相信大部分人都还不怎么了解 , 因此分享这篇文章给大家参考一下 , 希望大家阅读完这篇文章后大有收获 , 下面让我们一起去了解一下吧!

python中为什么要设置lambda函数? python中设置lambda的原因

文章插图
这个函数是我们在学习python中经常使用的 , 那么使用频率这么高的函数到底是什么呢?其实它就是一个语法 , 在python中 , 它的语法是唯一的 , 语法格式如下:
lambda [arg1 [,arg2,.....argn]]:expressionlambda其实就是python中一个预留的关键字之一 , 下面让我们一起来了解一下它都有哪些特性值得python如此频繁使用 。
1、参数传递
它跟函数一样 , 都可以用来传递参数 , 不同的地方在于 , 函数它有默认的参数 , 而lambda不能有默认的参数 , 它调用的实参数必须要跟形参数一致 。
2、指定返回类型
之前有提到过 , 如果在一个lambada中包含了除return的其他的语句 , 这个时候编译器就会觉得lambda返回的是一个无参数的类型 , 举个例子:
这个是一个错误示范:编译器推断为返回值是void , 其实它是一个为int 。
【python中为什么要设置lambda函数? python中设置lambda的原因】auto f = [](int i) { if(i < 0) return -i; else return i; };可以修改为如下
auto f = [](int i) -> int { if(i < 0) return -i; else return i; };3、使用lanbda函数会提高效率
import time测试的Def函数
def s1(n):return n ** 2在上面这几行代码中 , 我们是用来测试一个def函数 。
测试的Lambda函数
s2 = lambda n: n ** 2print(time.time()) 使用Def函数
i = 0while i < 100000:    s1(100)    i += 1print(time.time())使用lambda函数
i = 0while i < 100000:    s2(100)    i += 1print(time.time())运行结果: 
1413272496.271413272703.05 (Def   函数:207s)1413272904.49 (Lambda函数:201s)上面的代码的主要功能就是测试了def函数运行和lambada函数运行时间 , 从运行结果就可以看得出来lambda运行的速度明显要快 , 所以使用lambda能提高使用效率 。
以上是“python中为什么要设置lambda函数?python中设置lambda的原因”这篇文章的所有内容 , 感谢各位的阅读!相信大家都有了一定的了解 , 希望分享的内容对大家有所帮助 , 如果还想学习更多知识 , 可以继续关注哦!

    推荐阅读