温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python中设置lambda的原因

发布时间:2020-12-15 09:27:48 来源:亿速云 阅读:160 作者:小新 栏目:编程语言

小编给大家分享一下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的原因”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI