python学习之-匿名函数

什么是匿名函数

匿名函数: 没有名字的函数,意味着只能用一次就被回收

匿名函数用 lambda 表示

为何用匿名函数:用于临时使用一次的功能

匿名函数的定义格式

lambda 参数,参数:表达式  #参数规则和有名函数是一样的

lambda x,y:return x+y #这个位置的return是自带的,所以写表达式时候不需要写

表达式解析:匿名函数 + 参数:表达式,将表达式的值用return返回

PS:匿名函数自动有一个返回值,自带return,不能写return,也不能写语句,但是只要有返回值的表达式都可以写

匿名函数的调用方式

print(lambda x,y:x+y)(参数1,参数2)  

PS:匿名函数都是与其他功能配合去一起用

匿名函数实例

salaries={

    ‘egon‘:3000,

    ‘alex‘:100000000,

    ‘wupeiqi‘:10000,

    ‘yuanhao‘:2000

    }  

例:用倪匿名函数获取字典中工资最高的人的名字

  print(max(salaries,key=lambda k:salaries[k]))  #将匿名函数的返回值传递给key方法,告诉max方法对比的依据是什

逻辑原理就是max先遵循迭代器协议,将salaries的key取出来,然后传给max里面的key这个参数,在通过key这个参数传给函数lamdb
函数内的参数k,参数k再将参数传递给表达式,最后获取的值返回给key,max依据key参数做出判断

例:用匿名函数获取字典中工资最低的人的名字

print(min(salaries,key=lambda k:salaries[k]))

例:用匿名函数将字典按照工资的小到大排序放入列表(比薪资取人名)

res=sorted(salaries,key=lambda k:salaries[k],reverse=True) #sorted的reverse默认是False,如果是True就是反过来排序

print(res)

例:用倪匿名函数获取字典中工资最大的并且取得这个数字

print(max(salaries.values()))

PS:max默认方法遵循迭代器协议,从字典中取出的值是key,迭代器协议是无法更改的

PS:max方法里面有一个参数是key,这个key不是指字典的key,只是表示max方法的参数,这个key就是告诉max方法比较依据是什么,key一定要指向一个函数的内存地址

原文地址:https://www.cnblogs.com/shizhengquan/p/10016012.html

时间: 2024-07-30 20:25:55

python学习之-匿名函数的相关文章

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学习-27 匿名函数

匿名函数 1. 语法:   lanbda x:x+1 def a(x): return x+1 res = a(10) print(res) 运行结果: 11 Process finished with exit code 0 2. def a(x): return x+1 res = a(10) print(res) print(lambda x:x+1) # 内存地址, X匿名函数 func = lambda x:x+1 # :后就相当于 是return print(func(10)) 运行

python学习笔记之函数总结--高阶函数以及装饰器

python学习笔记之函数总结--高阶函数以及装饰器 Python特点: 1.不是纯函数式编程(允许变量存在): 2.支持高阶函数(可以传入函数作为变量): 3.支持闭包(可以返回函数): 4.有限度的支持匿名函数: 高阶函数: 1.变量可以指向函数: 2.函数的参数可以接收变量: 3.一个函数可以接收另一个函数作为参数: 下面我将示例一些函数的写法以及使用,并说明python中函数的特性: 1.基本的高阶函数示例: #!/usr/bin/env python def func():      

OpenCV for Python 学习 (一 绘图函数)

本人的学习笔记主要记录的是学习opencv-python-tutorials这本书中的笔记 今天晚上简单学习OpenCV for Python如何绘图,主要用了这几个函数(这几个函数可在:http://docs.opencv.org/modules/core/doc/drawing_functions.html 找到): cv2.line(img, pt1, pt2, color[, thickness[, lineType[, shift]]]) cv2.circle(img, center,

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学习-day16:函数作用域、匿名函数、函数式编程、map、filter、reduce函数、内置函数r

一.作用域 作用域在定义函数时就已经固定住了,不会随着调用位置的改变而改变 二.匿名函数 lambda:正常和其他函数进行配合使用.正常无需把匿名函数赋值给一个变量. f=lambda x:x*x print(f) #打印指向该函数的内存地址 print(f(5)) #内存地址(5) 调用运行该函数 def cala(x): y=x*x return y z=cala(5) print(z) >>> <function <lambda> at 0x10137d950&g

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学习] 专题一.函数的基础知识

        最近才开始学习Python语言,但就发现了它很多优势(如语言简洁.网络爬虫方面深有体会).我主要是通过<Python基础教程>和"51CTO学院 智普教育的python视频"学习,在看视频中老师讲述函数知识的时候觉得非常不错,所以就写了第一篇Python学习的文章分享给大家.主要内容:         1.Python安装与基本输入输出,print()函数和raw_input()函数简单用法. 2.我根据视频中学到的知识,讲解函数的基本知识: (1).系统提