python中设置lambda的原因
小编给大家分享一下python中设置lambda的原因,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
专注于为中小企业提供网站设计、成都做网站服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业四方台免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了数千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
1.lambda语法
lambda [arg1 [,arg2,.....argn]]:expression
2. 传递参数
如函数一样,lambda表达式也可以传递参数,但是不同的是,其不能有默认参数。一个lambda调用的实参数目永远要和形参数目相等。
举个例子:
auto f = [](const string &lhs, const string &rhs) { return a.size() < b.size(); };
3. 指定返回类型
如前面所提到,如果一个lambda体包含return之外的任何语句,则编译器假定此lambda返回void。
//错误示范:编译器推断为void,实际为int 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; };
4.实例:lambda函数会提高效率,那究竟是不是呢?我们写一段代码来验证一下
import time # 测试的Def函数 def square1(n): return n ** 2 # 测试的Lambda函数 square2 = lambda n: n ** 2 print(time.time()) # 使用Def函数 i = 0 while i < 1000000000: square1(100) i += 1 print(time.time()) # 使用lambda函数 i = 0 while i < 1000000000: square2(100) i += 1 print(time.time()) 1413272496.27 1413272703.05 (Def 函数:207s) 1413272904.49 (Lambda函数:201s)
以上是“python中设置lambda的原因”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!
分享标题:python中设置lambda的原因
当前URL:http://myzitong.com/article/gdscii.html