发布于 2014-11-26 04:04:51 | 1032 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的Python3 官方中文指南,程序狗速度看过来!

Python编程语言

Python 是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。Python语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。


本文为大家整理的是Python中的 lamda表达式使用详解,并以示例向大家进行了讲解,感兴趣的同学参考下。

lambda语句被用来创建新的函数对象,并且在运行时返回它们。

python lambda是在python中使用lambda来创建匿名函数,而用def创建的方法是有名称的,除了从表面上的方法名不一样外,python lambda还有哪些和def不一样呢?
1 python lambda会创建一个函数对象,但不会把这个函数对象赋给一个标识符,而def则会把函数对象赋值给一个变量。
2 python lambda它只是一个表达式,而def则是一个语句。

lambda表达式在“:”后只能有一个表达式。也就是说,在def中,用return可以返回的也可以放在lambda后面,不能用return返回的也不能定义在python lambda后面。因此,像if或for或print这种语句就不能用于lambda中,lambda一般只用来定义简单的函数。

使用lamda形式

<span style="font-size:18px;">def make_repeater(n):  

    return lambda s: s*n  

twice = make_repeater(2)  

print(twice('word'))  

print(twice(5))</span>  

它如何工作:

这里,我们使用了make_repeater函数在运行时创建新的函数对象,并且返回它。lambda语句用来创建函数对象。本质上,lambda需要参数(可能是多个参数),后面仅跟单个表达式作为函数体,而表达式的值被这个新建的函数返回。注意,即便是print语句也不能用在lambda形式中,只能使用表达式。

我们来看更多例子:

1 单个参数的:

g = lambda x:x*2  

print(g(3))  


结果是6,分析(x是函数的形参,x*2是函数体)
 

2 多个参数的:

m = lambda x,y,z: (x-y)*z  

print( m(3,1,2))(x,y,z是函数的形参,(x-y)*z是函数体)  


结果是4



最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务