全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

回调函数的意义以及python实现实例

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

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

ElementTree(元素树) ElementTree就像一个轻量级的DOM,具有方便友好的API。代码可用性好,速度快,消耗内存少。 注:因DOM需要将XML数据映射到内存中的树,一是比较慢,二是比较耗内存,而SAX流式读取XML文件,比较快,占用内存少,但需要用户实现回调函数(handler)。

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

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

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

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

# coding=utf-8
# 请不要在意为毛要清洁这么多次


def clean1(times):
  """
  就假装是扫地吧,这种函数命名方式,千万别学习
  :param times: 次数
  :return: None
  """
  print '已完成扫地次数:', str(times)


def clean2(times):
  """
  默默的装作洗抽油烟机
  :param times: 次数
  :return: None
  """
  print '已洗抽油烟机次数', str(times)


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

if __name__ == '__main__':
  call_clean(100, clean2) # 给我洗100次抽油烟机

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

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# python 回调函数  # python的回调函数  # python 回调函数实现  # 回调  # 这是  # 就说  # 你把  # 其所  # 给我  # 就像  # 一句  # 你要  # 在这  # 是这样  # 还能  # 一是  # 就好  # 不是很  # 你自己  # 映象  # 很重要  # 找了  # 时就 


相关文章: 北京制作网站的公司,北京铁路集团官方网站?  网站制作免费,什么网站能看正片电影?  哈尔滨网站建设策划,哈尔滨电工证查询网站?  想学网站制作怎么学,建立一个网站要花费多少?  ,sp开头的版面叫什么?  如何在阿里云域名上完成建站全流程?  免费制作海报的网站,哪位做平面的朋友告诉我用什么软件做海报比较好?ps还是cd还是ai这几个软件我都会些我是做网页的?  建站之星免费版是否永久可用?  网站制作说明怎么写,简述网页设计的流程并说明原因?  C++中引用和指针有什么区别?(代码说明)  如何在橙子建站中快速调整背景颜色?  如何注册花生壳免费域名并搭建个人网站?  自助网站制作软件,个人如何自助建网站?  建站之星备案是否影响网站上线时间?  如何实现建站之星域名转发设置?  c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】  建站之星手机一键生成:多端自适应+小程序开发快速建站指南  娃派WAP自助建站:免费模板+移动优化,快速打造专业网站  如何确保FTP站点访问权限与数据传输安全?  建站之星与建站宝盒如何选择最佳方案?  如何在阿里云服务器自主搭建网站?  公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?  天津个人网站制作公司,天津网约车驾驶员从业资格证官网?  如何规划企业建站流程的关键步骤?  ,网站推广常用方法?  黑客如何通过漏洞一步步攻陷网站服务器?  Java解压缩zip - 解压缩多个文件或文件夹实例  如何快速生成高效建站系统源代码?  如何配置WinSCP新建站点的密钥验证步骤?  如何通过FTP服务器快速搭建网站?  如何批量查询域名的建站时间记录?  如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法  家庭服务器如何搭建个人网站?  如何解决ASP生成WAP建站中文乱码问题?  网站制作壁纸教程视频,电脑壁纸网站?  高防网站服务器:DDoS防御与BGP线路的AI智能防护方案  建站之星2.7模板:企业网站建设与h5定制设计专题  如何获取免费开源的自助建站系统源码?  高端智能建站公司优选:品牌定制与SEO优化一站式服务  建站主机如何选?高性价比方案全解析  全景视频制作网站有哪些,全景图怎么做成网页?  如何登录建站主机?访问步骤全解析  招贴海报怎么做,什么是海报招贴?  建站VPS推荐:2025年高性能服务器配置指南  如何在IIS中新建站点并解决端口绑定冲突?  如何选择适配移动端的WAP自助建站平台?  学校建站服务器如何选型才能满足性能需求?  建站主机解析:虚拟主机配置与服务器选择指南  实例解析Array和String方法  如何安全更换建站之星模板并保留数据? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。