Python回调函数的实现

一、回调函数介绍:

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

回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。

上面是对回调函数的描述和解释,概念往往都显得生涉拗口,不易理解.

简单来说,我们可以这样理解回调,A实现了A1函数和A3函数,B实现了B2函数,B2函数接收一个函数名字作为参数,然后在B2内执行这个函数.

在实际应用时,A1函数调用了B2,B2函数接收函数A3作为参数,在B2内部执行A3函数,A3就是回调函数.

二、代码实现:

-callback_A.py

from callback_B import trade_meetingdef trade_cn_us():"""大大赴美,中美贸易磋商"""print()print("---++  准备行程,大大赴美  ++---")trade_meeting(ready_info)print("---++  会谈结束,带喜讯回国  ++---")def ready_info():"""准备商谈内容"""print()print("---++  会议中提出要求  ++---")print()if __name__ == '__main__':trade_cn_us()

-callback_B.py

def trade_meeting(callback_func):"""贸易会谈并签署协议"""print()print("---++  与特朗普开始会谈  ++---")callback_func()print("---++  会谈结束签署协议  ++---")print()

这个例子以中美贸易磋商作为示例:

在callback_A.py中实现了赴美进行贸易磋商并回国的函数trade_cn_us(),准备商谈资料(收集民众要求)的函数ready_info().

在callback_B.py中实现了在美国召开会议并签署协议的函数trade_meeting(callback_func).

可以理解为callback_A.py中实现的方法是在中国做的事情,callback_B.py中实现的方法是在美国做的事情(与现实的逻辑符合).

要赴美完成贸易磋商并回国,trade_cn_us()调用了trade_meeting(callback_func),在美国进行贸易会议时,需要调用国内准备会议资料的函数ready_info(),ready_info以函数名字作为参数传递给trade_meeting(),然后在trade_meeting()中执行.

这时候的ready_info()就是回调函数

三、运行结果:

---++  准备行程,大大赴美  ++------++  与特朗普开始会谈  ++------++  会议中提出要求  ++------++  会谈结束签署协议  ++------++  会谈结束,带喜讯回国  ++---

四、两个类之间的回调:

上面的回调是在两个不同的python文件中实现的,在面向对象编程中,两个不同的类之间也可以实现回调,参考代码如下:

class China(object):"""国内事项"""def trade_cn_us(self):"""大大赴美,中美贸易磋商"""print()print("---++  准备行程,大大赴美  ++---")us = American()us.trade_meeting(self.ready_info)print("---++  会谈结束,带喜讯回国  ++---")def ready_info(self):"""准备商谈内容"""print()print("---++  会议中提出要求  ++---")print()class American(object):"""美国事项"""def trade_meeting(self, callback_func):"""贸易会谈并签署协议"""print()print("---++  与特朗普开始会谈  ++---")callback_func()print("---++  会谈结束签署协议  ++---")print()if __name__ == '__main__':cn = China()cn.trade_cn_us()

这就是使用Python实现回调函数的过程,当有适合的需求场景时,按上面的方法即可实现~~

Python回调函数的实现相关推荐

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

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

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

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

  3. python 回调函数(Callback)

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

  4. Python回调函数用法实例

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

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

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

  6. python 回调函数

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

  7. Python 回调函数的实现

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

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

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

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

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

最新文章

  1. 1)头结点,头指针,
  2. 【Codeforces】501B Misha and Changing Handles(map)
  3. 邮件服务器SMTP概述
  4. go使用for...range遍历数组
  5. Web中的鼠标自动移动
  6. STL vector 用法
  7. android电视原理图,电视机工作原理
  8. day01-pycharm快捷键
  9. linux读取stm32唯一识别码,STM32HAL内部识别码,全球唯一识别码,UID读取
  10. 数据科学 | Pandas新手入门
  11. STM32L4系列二、STM32CubeMX 图形配置工具基本操作过程
  12. 使用scrapy爬取图片
  13. 论文解读-通过建模时空动态生成活动轨迹
  14. db2 日期英式写法_英式与美式日期写法 基数与序数词辨析
  15. 广度优先搜索与深度优先搜索
  16. 方差、标准差和均方根误差的区别总结
  17. 小学如何开展创客教育教学工作
  18. 记录学习《流畅的python》的一些知识-----对象引用,可变性和垃圾回收
  19. 202106C语言二级真题
  20. cloud-init 典型应用 - 每天5分钟玩转 OpenStack(174)

热门文章

  1. 十一、python生成器和迭代器
  2. 强化顶层设计 巩固网络安全
  3. 《C语言深度解剖》学习笔记之内存管理
  4. (转)ScriptManager.RegisterStartupScript方法和Page.ClientScript.RegisterStartupScript() 方法...
  5. morphological antialiasing
  6. 团购“罗生门”渐退行业舞台 千团大战仍需企业自律
  7. jQuery 方法 属性
  8. 配置ISCSI客户端(LINUX)
  9. JavaScript 设计模式核⼼原理与应⽤实践之单例模式——Vuex的数据管理哲学
  10. 2019年IT界,程序员是否不好找工作了?