84669인 학습
152542인 학습
20005인 학습
5487인 학습
7821인 학습
359900인 학습
3350인 학습
180660인 학습
48569인 학습
18603인 학습
40936인 학습
1549인 학습
1183인 학습
32909인 학습
Python中lambda与def的区别有哪些?
Python에서 람다와 def의 차이점은 무엇인가요? -PHP 중국어 웹사이트 Q&A-파이썬에서 람다와 정의의 차이점은 무엇인가요? -PHP 중국어 홈페이지 Q&A
꼭 보고 배워보세요.
python中的lambda通常是用来在python中创建匿名函数的,而用def创建的方法是有名称的,除了从表面上的方法名不一样外,python中的lambda还有如下几点和def不一样:
1. python lambda会创建一个函数对象,但不会把这个函数对象赋给一个标识符,而def则会把函数对象赋值给一个变量。
2. python lambda它只是一个表达式,而def则是一个语句。
下面是python lambda的格式,看起来非常精简。
lambda x: print x
如果你在python 列表解析里用到python lambda,感觉意义并不是很大,因为python lambda它会创建一个函数对象,但马上又给丢弃了,因为你没有使用它的返回值,即那个函数对象。也正是由于lambda只是一个表达式,它可以直接作为python 列表或python 字典的成员,比如:
info = [lamba a: a**3, lambda b: b**3]
在这个地方没有办法用def语句直接代替。因为def是语句,不是表达式不能嵌套在里面,lambda表达式在“:”后只能有一个表达式。也就是说,在def中,用return可以返回的也可以放在lambda后面,不能用return返回的也不能定义在python lambda后面。因此,像if或for或print这种语句就不能用于lambda中,lambda一般只用来定义简单的函数。
Python에서 람다와 def의 차이점은 무엇인가요? -PHP 중국어 웹사이트 Q&A-파이썬에서 람다와 정의의 차이점은 무엇인가요? -PHP 중국어 홈페이지 Q&A
꼭 보고 배워보세요.
python中的lambda通常是用来在python中创建匿名函数的,而用def创建的方法是有名称的,除了从表面上的方法名不一样外,python中的lambda还有如下几点和def不一样:
1. python lambda会创建一个函数对象,但不会把这个函数对象赋给一个标识符,而def则会把函数对象赋值给一个变量。
2. python lambda它只是一个表达式,而def则是一个语句。
下面是python lambda的格式,看起来非常精简。
如果你在python 列表解析里用到python lambda,感觉意义并不是很大,因为python lambda它会创建一个函数对象,但马上又给丢弃了,因为你没有使用它的返回值,即那个函数对象。也正是由于lambda只是一个表达式,它可以直接作为python 列表或python 字典的成员,比如:
在这个地方没有办法用def语句直接代替。因为def是语句,不是表达式不能嵌套在里面,lambda表达式在“:”后只能有一个表达式。也就是说,在def中,用return可以返回的也可以放在lambda后面,不能用return返回的也不能定义在python lambda后面。因此,像if或for或print这种语句就不能用于lambda中,lambda一般只用来定义简单的函数。