博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python 匿名函数
阅读量:6764 次
发布时间:2019-06-26

本文共 1033 字,大约阅读时间需要 3 分钟。

匿名函数

  • 函数可以像普通变量一样进行赋值

    def hello():     print('hello world') ​ print(hello.__name__) a = hello print(a.__name__) hello() a()
  • 函数可以作为参数传递,扩展函数的功能

    def add(a, b):     return a+b def calc(a, b, func): return func(a, b) print(calc(2, 3, add))
  • 场景:当函数作为另一个函数的参数,只使用一次也得定义,否则无法使用,于是匿名函数就出现了。

  • 定义:就是没有名字的函数,使用lambda关键字定义

  • 格式:

    • 以lambda开头

    • 后面跟上该匿名函数的参数,多个参数使用逗号隔开

    • 最后一个参数的后面跟上冒号':'

    • 冒号的后面跟上一个表达式,这个表达式就是返回值,不需要使用return

  • 示例1:

    def calc(a, b, func):     return func(a, b) # mul = lambda x, y: x*y # print(calc(3, 5, mul)) print(calc(3, 5, lambda x,y:x*y))
  • 示例2:

    # l = [5, 3, 2, 8, 6, 1] ​ l = [     {'name':'xiaowang', 'age':15, 'height':150},    {'name':'xiaodu', 'age':14, 'height':145},    {'name':'xiaopang', 'age':12, 'height':140},    {'name':'banhua', 'age':13, 'height':155}, ] ​ # def d_key(d): #     return d['age'] # l.sort(key=d_key) # 当列表中的元素无法直接比较大小时,需要传递参数key # key是一个函数,接受元素作为参数,返回用于比较的项 l.sort(key=lambda x:x['height']) ​ for i in l:    print(i)
  • 练习:

    • 试着自己封装一个列表的sort函数,接受参数:排序对象、key、reverse

转载于:https://www.cnblogs.com/kiki5881/p/8523414.html

你可能感兴趣的文章
slf4j配置和使用
查看>>
awk 用法(自己笔记)
查看>>
关于Spring 中的context:annotation-config
查看>>
mysql报Table 'XXX' is specified twice, both as a target for 'UPDATE'....
查看>>
端口80被占用,却死活找不到占用端口的程序
查看>>
java实现邮箱验证的功能
查看>>
制作可以随身携带的系统盘
查看>>
Google决定用gLinux取代Goobuntu Linux操作系统
查看>>
shiro配置文件
查看>>
laravel请求生命周期
查看>>
亚洲诚信带你玩转[2018国家网络安全宣传周]上海地区活动!
查看>>
02. react 初次见面---JSX简介
查看>>
spring 注解@Autowired 与 @Resource 的区别
查看>>
FastDFS和Nginx实现分布式文件服务器
查看>>
在 MaxCompute UDF 中运行 Scipy
查看>>
8月27日科技联播:滴滴5000亿上市计划或受影响,高德地图暂时下线顺风车业务...
查看>>
网站漏洞修复对phpmyadmin防止被入侵提权的解决办法
查看>>
Linux常用
查看>>
js判断对象还是数组
查看>>
环境变量PATH、cp命令、mv命令、cat命令、tac命令、more、less、head、tail
查看>>