因工作需要,最近在学习使用python来解析各种文件,包括xmind,xml,excel,csv等等。

在学习python解析XML的时候看到这样一段话:

当时就犯了老毛病,被一个不是很知道的名词引起了兴趣--回调函数,后搜索资料学习了一下,感觉需要写个什么来记录一下顺便加深映象,此处引用了不少各位神的经验,篇幅所限就不一一感谢了。

回调函数(callback),百度百科的解释是这样的:

回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。

可能是学识确实有限,看起来比较懵逼。然后去找了一些通俗易懂的解释--就好像是家政服务,家政公司提供了一个API:打扫房子,而且还能提供各种打扫,比如扫地,擦家具,清洁马桶等等,我们把打扫房子看做库函数,那么打扫屋子的方式呢是你自己决定的,你要怎么打扫就要预约并执行那种回调函数,你预约并执行服务的行为叫做登记回调函数。下面写个看起来很low的实现以便理解

1 #coding=utf-8

2 #请不要在意为毛要清洁这么多次

3

4

5 defclean1(times):6 """

7 就假装是扫地吧,这种函数命名方式,千万别学习8 :param times: 次数9 :return: None10 """

11 print '已完成扫地次数:', str(times)12

13

14 defclean2(times):15 """

16 默默的装作洗抽油烟机17 :param times: 次数18 :return: None19 """

20 print '已洗抽油烟机次数', str(times)21

22

23 defcall_clean(times, function_name):24 """

25 这个很重要,这个就是家政公司的业务系统,要啥业务都得在这说26 这个是实现回调函数的核心27 :param times:次数28 :param function_name:回调函数名29 :return:调用的函数结果30 """

31 returnfunction_name(times)32

33 if __name__ == '__main__':34 call_clean(100, clean2) #给我洗100次抽油烟机,好吧,很变态

最后粘贴一段百度百科上面写的回调函数的意义:传送门

好吧,犯懒了

最后说一句,看到这应该懂了的一句话:

回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。

python回调函数的作用是_回调函数的意义以及python实现相关推荐

  1. 大学计算机python编程的函数及作用总结_【转】python 内置函数总结(大部分)...

    python 内置函数大讲堂 python全栈开发,内置函数 1.内置函数 python的内置函数截止到python版本3.6.2,现在python一共为我们提供了68个内置函数.它们就是python ...

  2. python主函数的作用_python中main函数的用法

    原博文 2020-03-27 20:25 − **什么场景下会有main函数?** 当该python脚本被作为模块(module)引入(import)时,其中的main()函数将不会被执行. **ma ...

  3. python给函数设置超时时间_在 Linux/Mac 下为Python函数添加超时时间的方法

    我们在使用 requests 这类网络请求第三方库时,可以看到它有一个参数叫做 timeout ,就是指在网络请求发出开始计算,如果超过 timeout 还没有收到返回,就抛出超时异常.(当然存在特殊 ...

  4. python给函数设置超时时间_在 Linux/Mac 下为Python函数添加超时时间

    我们在使用 requests 这类网络请求第三方库时,可以看到它有一个参数叫做timeout,就是指在网络请求发出开始计算,如果超过 timeout 还没有收到返回,就抛出超时异常.(当然存在特殊情况 ...

  5. python函数的作用是什么_Python函数

    python函数讲解 函数三问: 什么是函数? 函数就是可以完成特定功能的代码块,函数就是存放代码的容器可以理解为一个装有一些工具的箱子 为什么有函数? 1.减少了代码的冗余 2.让程序增加了可扩展性 ...

  6. python装饰器什么时候用_什么时候会用到python装饰器

    1 所谓装饰器就是把函数包装一下,为函数添加一些附加功能,装饰器就是一个函数,参数为被包装的函数,返回包装后的函数:你可以试下:12345678910111213def d(fp):    def _ ...

  7. python人工智能入门优达视频_看优达学城python入门视频学习C++

    在如今这个时代,计算机领域中,各种技术瞬息万变,不断更新迭代.随着人工智能.机器学习等先进技术的兴起,近年来,python入门视频是很多人关注的,Python程序员的数量已经大大超过C++程序员.然而 ...

  8. python执行js脚本安全吗_手把手教你如何使用Python执行js代码

    前言 各位小伙伴,大家好,这次咱们来说一下关于爬虫方向的一个知识,Python如何执行js,快来看看吧!!! 为什么要引出Python执行js这个问题? 都说术业有专攻,每个语言也都有自己的长处和短处 ...

  9. c语言delay函数的作用,delay用法(delay函数使用)

    是delay to do 还是delay doing 还是delay do?还是什么啊~~ 问下 delayvt.延期, 延缓: 推迟We decided to delay our holiday u ...

最新文章

  1. css定位页面元素,页面元素定位-CSS元素基本定位
  2. Centos中提示You have new mail in /var/spool/mail/root 解决
  3. Leetcode 219. 存在重复元素 II 解题思路及C++实现
  4. 2021 CCPC E. 被遗忘的计划(循环卷积+快速幂)
  5. linux 扩展挂载盘大小_Linux 添加挂载硬盘(包含挂载大于2T以上硬盘)
  6. 【感悟】本书书名无法描述本书内容(二)
  7. element-ui主表格多选后 二级弹框表格默认全选数据
  8. [转]关于SilverLight:你需要知道的十件事情
  9. C++primer 7.4节练习
  10. fullpage.js使用指南
  11. idea java常用手册
  12. AAAI 2020上的NLP有哪些研究风向?
  13. batchplot插件用法_Batchplot设置使用指南,实现批量打印CAD图纸
  14. 对16S数据使用PICRUSt预测输出KEGG和COG表
  15. Centos 基本命令
  16. BUUCTF-pwn(15)
  17. 雷达监控与视频监控性能对比分析
  18. 最简单小米机器一键激活XPOSED框架教程
  19. linux系统安装arcgis server 10.3.1
  20. vue移动端实现聊天功能

热门文章

  1. android11发布会,秒级推送!Android 11正式发布:一加、小米等手机将陆续更新
  2. 借力AI、大数据,海信是这样帮助青岛“治堵”的
  3. 计算机一类和计算机二类的区别,一类、二类、三类居住用地有什么区别
  4. 各种UG编程数控加工的切削方法
  5. 2022-2027年中国工程保险行业发展前景及投资战略咨询报告
  6. 白鞋脏了怎么办?教你几招让脏鞋变白的小妙招!
  7. 2022年 change detection遥感图像变化检测 论文附代码
  8. 2011年春运电话订火车票流程
  9. sql 视图 排序 实例
  10. 向量空间 列空间 零空间