python笔记十三(匿名函数)

一、匿名函数

  有些情况下,我们需要把函数当做参数传入到另外的函数中,或者是把函数作为某个函数的返回值,此时我们就可以使用匿名函数。

  匿名函数的标志是lambda.

>>> f = lambda x:x*x
>>> f
<function <lambda> at 0x000002AB91CA7F28>
>>> f(5)
25
>>> f = lambda a,b: a*a +b*b
>>> f
<function <lambda> at 0x000002AB922629D8>
>>> f(1,2)
5

  如上述代码, : 前面的是需要传入匿名函数的参数,并且匿名参数不需要返回值,返回值就是表达式的结果。

时间: 2024-07-30 21:03:57

python笔记十三(匿名函数)的相关文章

Python之路Python作用域、匿名函数、函数式编程、map函数、filter函数、reduce函数

Python之路Python作用域.匿名函数.函数式编程.map函数.filter函数.reduce函数 一.作用域 return 可以返回任意值例子 def test1(): print("test1") def test(): print("test") return test1 res = test() print(res) 输出结果 test <function test1 at 0x021F5C90> 分析:这里print(res)输出的是te

Python学习笔记010——匿名函数lambda

1 语法 my_lambda = lambda arg1, arg2 : arg1 + arg2 + 1 arg1.arg2:参数 arg1 + arg2 + 1 :表达式 2 描述 匿名函数不需要return来返回值,表达式本身结果就是返回值. lambda 仅简洁了代码,并不会提高程序运行效率 如果可以用 for...in...if 来完成的,最好不使用匿名函数lambda 使用lambda时,函数内不要包含循环.嵌套:如果存在,则最好使用def函数来完成,这样的代码可读性和复用性均较高 l

Python的lambda匿名函数

lambda函数也叫匿名函数,即,函数没有具体的名称.先来看一个最简单例子: def f(x):return x**2print f(4) Python中使用lambda的话,写成这样 g = lambda x : x**2print g(4) lambda表达式在很多编程语言都有对应的实现.比如C#: var g = x => x**2Console.WriteLine(g(4)) 那么,lambda表达式有什么用处呢?很多人提出了质疑,lambda和普通的函数相比,就是省去了函数名称而已,同

python学习之---匿名函数,返回函数,偏函数

1. 返回函数: 所谓的返回函数,指的是函数作为返回值.高阶函数除了可以接受函数作为参数外,同样可以接受函数作为结果返回.以下是一个可变参数的求和例子,一般求和函数是如此这般定义的: 1 >>> def sum(*args): 2 ... ax = 0 3 ... for x in args: 4 ... ax += x 5 ... return ax 6 ... 以上函数一旦定义,在调用这个函数的时候,只要传入参数就会立刻执行.但是,如果条件需要不要立刻求和,而是在后面的代码中,根据需

Python学习 之 匿名函数

1.匿名函数(lambda函数):lambda函数是一种快速定义单行的最小函数,是从Lisp借用来的,可以用在任何需要函数的地方. 普通函数定义如下: def f(x,y): return x*yf(2,3) lambda函数定义如下: g=lambda x,y:x*yg(2,3) 2.使用lambda函数的好处 (1)使用Python写一些执行脚本时,使用lambda可以省去定义函数的过程,让代码更加精简. (2)对于一些抽象的,不会在别的地方再复用的函数,有时候给函数起个名字是个难题,用la

python基础之匿名函数、内置函数

一 匿名函数 匿名函数就是不需要显式的指定函数. lambda的主体是一个表达式,而不是一个代码块.仅仅能在lamba表达式中封装有限的逻辑进去. 语法:lambda函数的语法只包含一个语句,如下: lambda [arg1 [,arg2,.....argn]]:expression 先来个简单得: #这段代码 def calc(n): return n**n print(calc(10)) #换成匿名函数 calc = lambda n:n**n print(calc(10)) 换个高级点得:

Python递归函数与匿名函数

递归函数 Python对递归的深度有限制,超过即会报错.所以一定一要注意跳出条件. #斐波拉契数列 #一个数列,第一个数是1,第二个数也是1,从第三个数开始,每一个数是前两个数之和 #公式:f(1) =1, f(2) = 1, f(3) = f(1) + f(2), ..., f(n) = f(n-2) + f(n-1) #例如:1, 2, 3, 5, 8, 13, 21... def fib(n): if n == 1: return 1 elif n == 2: return 1 else:

Python 函数式编程--匿名函数Lambda

1.1   匿名函数 有些时候,不需要显式地定义函数,直接传入匿名函数更方便. >>> list(map(lambda x:x*x, (1, 2, 3, 4, 5))) [1, 4, 9, 16, 25] 冒号前面的x表示函数参数. 匿名函数有个限制,就是只能有一个表达式,不用写return,返回值就是该表达式的结果. >>> f = lambda x: x * x >>> f(2) 4 >>> def build(x, y): ..

python函数式编程-匿名函数

>>> map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9]) [1, 4, 9, 16, 25, 36, 49, 64, 81] 关键字lambda表示匿名函数,冒号前面的x表示函数参数. 匿名函数有个限制,就是只能有一个表达式,不用写return,返回值就是该表达式的结果.