回调函数

函数的名字作为其他函数的参数,那么这个函数就叫做回调函数

例子:

def avg(x,y):return (x+y)/2def my_sum(x,y):return x+ydef function(f,x,y):return f(x,y)avg_1=function(avg,3,4)
print(avg_1)
sum_1=function(my_sum,3,4)
print(sum_1)

运行结果:

3.5
7

回调函数的应用

回调函数比较灵活,比如sorted,提供一个回调函数,可以根据需要进行排序

sorted函数的定义如下:
sorted(iterable, /, *, key=None, reverse=False)¶
这里的key指定带有单个参数的函数,这个参数是iterable中的每个元素,用于从每个元素中提取比较的健

#将my_list中的元素按照第6位的大小进行排序my_list=["20220203","20220103","20220402","20220105","20220203","20220104","20220504","20220603"]def by_six_index(item):return item[5:6]
new_list=sorted(my_list,key=by_six_index)print(new_list)

运行结果:

['20220103', '20220105', '20220104', '20220203', '20220203', '20220402', '20220504', '20220603']

以上代码可以使用lambda表达式进行改良

my_list=["20220203","20220103","20220402","20220105","20220203","20220104","20220504","20220603"]new_list=sorted(my_list,key=lambda item:item[5:6])
re.sub方法

正则表达式的sub方法定义如下:
re.sub(pattern, repl, string, count=0, flags=0)
这里的repl可以是个字符串,也可以是一个回调函数,如果是回调函数,参数是一个Match对象
如果 repl 是一个函数,那它会对每个非重复的 pattern 的情况调用。这个函数只能有一个 匹配对象 参数,并返回一个替换后的字符串

import re
origin_str="Today is one:by:one, tomorrow is two:by:two"def replacefunction(match):group1=match.group(1)group2=match.group(2)group3=match.group(3)return group1+"-"+group2+"-"+group3new_str=re.sub(r"(\w{3}):(\w{2}):(\w{3})",replacefunction,origin_str)
print(new_str)

运行结果:

Today is one-by-one, tomorrow is two-by-two

总结:如果使用的方法或者函数中有参数是一个回调函数,首选要弄清楚这个回调函数的参数是什么,如果函数体只有一个return语句,可以用lambda函数

思考:
如果两个函数大部分代码都一样,只是某一部分不一样,而这一部分可以考虑将其写成回调函数,这两个函数是否可以合并成一个?

python-回调函数相关推荐

  1. python回调函数实例详解_Python回调函数用法实例详解

    本文实例讲述了Python回调函数用法.分享给大家供大家参考.具体分析如下: 一.百度百科上对回调函数的解释: 回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函 ...

  2. python回调接口_三个案例带你了解python回调函数

    原标题:三个案例带你了解python回调函数 回调函数: 把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数.回调函数不是由该函数的实现方直接调用 ...

  3. Python回调函数的实现

    Python回调函数的实现 一.回调函数介绍: 回调函数就是一个通过函数名调用的函数.如果你把函数的名字(地址)作为参数传递给另一个函数,当这个参数被用来调用其所指向的函数时,我们就说这是回调函数. ...

  4. python 回调函数(Callback)

    什么是回调函数?我们绕点远路来回答这个问题.编程分为两类:系统编程(system programming)和应用编程(application programming).所谓系统编程,简单来说,就是编写 ...

  5. Python回调函数用法实例

    什么是回调函数? 我们绕点远路来回答这个问题. 编程分为两类:系统编程(system programming)和应用编程(application programming).所谓系统编程,简单来说,就是 ...

  6. python mount回调函数_为python回调函数设置argtype

    我对Python很在行,所以希望我能正确地表达这个问题.在 整个问题涉及从Python调用C例程.我可以通过把一些相关的问题/答案凑在一起来接近,但我似乎不能把事情安排得很好.有两个方面:第一个是用指 ...

  7. python 回调函数

    在之前学爬虫的时候,就遇到了这个问题,当时没弄明白.现在明白了,特来记录. 首先看一个小例子,后面会附上知乎一位大神的解说. def a(i):""""回调函数 ...

  8. Python 回调函数的实现

    什么是回调函数? 在python中一些变量都是对象,包括函数,函数名就是函数对象的变量名称,那么是否要将函数名变量做为参数传给其它函数呢? 答案是肯定的. 当函数B的函数名做为参数,传给别函数A时,并 ...

  9. Python——回调函数(callback)

    摘要 主要是介绍python 的回调函数callback. 什么是回调函数 当程序运行是,一般情况下,应用程序会时常通过API调用库里所预先备好的函数.但是有些库函数却要求应用先传给它一个函数,好在合 ...

  10. python 回调函数的使用_如何在python中使用回调函数?

    我想知道如何正确使用 Python 2.7回调函数. 我在我的代码中有一些来自Cherrypy auth示例的回调函数. (这些回调会返回一个可以评估为True或False的函数,具体取决于登录的用户 ...

最新文章

  1. Profiler 使用说明
  2. python环境变量配置_Python环境变量的配置
  3. kubernetes问题排查
  4. Airbnb React/JSX 编码规范
  5. 路畅安卓最新固件升级_Airpods连接安卓手机音量异常(airpods固件升级)
  6. 简述工业机器人示教再现的一般步骤_基于激光焊缝跟踪传感器的工业机器人焊缝跟踪系统的应用焊接寻位...
  7. python 统计英文词频
  8. 有关Kali处理源的方法
  9. MHEG5简介amp;多媒体技术教程
  10. 蓝桥杯 c语言入门试题,蓝桥杯c语言试题2015
  11. php跨域请求post请求失败,nginx + php 跨域问题,GET可以跨域成功,POST失败
  12. DOS编写脚本常用命令整理
  13. paraview热流图(2):3D glyphs representation
  14. salt 安装kubernetes集群3节点
  15. 一文读懂人工智能、机器学习、深度学习、强化学习的关系(必看)
  16. 精益生产管理专家——安岷老师
  17. css使用clac()垂直居中
  18. 99.9%解决谷歌商店(Google Play)下载应用卡在等待中问题
  19. 在Mac系统下配置端口映射
  20. 详解在VMware Workstation Pro 15 安装 CentOS 7后配置网络

热门文章

  1. 卡巴斯基提示:“手机骷髅”病毒引发新一轮安全隐患
  2. 9月第2周网络安全报告:境内感染病毒主机68万个
  3. Microsoft Office Word、Excel 和 PowerPoint 文件格式兼容包
  4. 悟空CRM(PHP版本)安装教程
  5. Ghost xp NetMeeting不能共享桌面的解决办法
  6. Win Me安装教程
  7. Padavan(老毛子)脚本自动切换网关和 DNS 服务器
  8. 模拟多线程给多用户发送短信
  9. 数字信号处理重要学习资源
  10. 浅谈select2的使用