Python回调函数的实现
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回调函数的实现相关推荐
- python回调函数实例详解_Python回调函数用法实例详解
本文实例讲述了Python回调函数用法.分享给大家供大家参考.具体分析如下: 一.百度百科上对回调函数的解释: 回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函 ...
- python回调接口_三个案例带你了解python回调函数
原标题:三个案例带你了解python回调函数 回调函数: 把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数.回调函数不是由该函数的实现方直接调用 ...
- python 回调函数(Callback)
什么是回调函数?我们绕点远路来回答这个问题.编程分为两类:系统编程(system programming)和应用编程(application programming).所谓系统编程,简单来说,就是编写 ...
- Python回调函数用法实例
什么是回调函数? 我们绕点远路来回答这个问题. 编程分为两类:系统编程(system programming)和应用编程(application programming).所谓系统编程,简单来说,就是 ...
- python mount回调函数_为python回调函数设置argtype
我对Python很在行,所以希望我能正确地表达这个问题.在 整个问题涉及从Python调用C例程.我可以通过把一些相关的问题/答案凑在一起来接近,但我似乎不能把事情安排得很好.有两个方面:第一个是用指 ...
- python 回调函数
在之前学爬虫的时候,就遇到了这个问题,当时没弄明白.现在明白了,特来记录. 首先看一个小例子,后面会附上知乎一位大神的解说. def a(i):""""回调函数 ...
- Python 回调函数的实现
什么是回调函数? 在python中一些变量都是对象,包括函数,函数名就是函数对象的变量名称,那么是否要将函数名变量做为参数传给其它函数呢? 答案是肯定的. 当函数B的函数名做为参数,传给别函数A时,并 ...
- Python——回调函数(callback)
摘要 主要是介绍python 的回调函数callback. 什么是回调函数 当程序运行是,一般情况下,应用程序会时常通过API调用库里所预先备好的函数.但是有些库函数却要求应用先传给它一个函数,好在合 ...
- python 回调函数的使用_如何在python中使用回调函数?
我想知道如何正确使用 Python 2.7回调函数. 我在我的代码中有一些来自Cherrypy auth示例的回调函数. (这些回调会返回一个可以评估为True或False的函数,具体取决于登录的用户 ...
最新文章
- 1)头结点,头指针,
- 【Codeforces】501B Misha and Changing Handles(map)
- 邮件服务器SMTP概述
- go使用for...range遍历数组
- Web中的鼠标自动移动
- STL vector 用法
- android电视原理图,电视机工作原理
- day01-pycharm快捷键
- linux读取stm32唯一识别码,STM32HAL内部识别码,全球唯一识别码,UID读取
- 数据科学 | Pandas新手入门
- STM32L4系列二、STM32CubeMX 图形配置工具基本操作过程
- 使用scrapy爬取图片
- 论文解读-通过建模时空动态生成活动轨迹
- db2 日期英式写法_英式与美式日期写法 基数与序数词辨析
- 广度优先搜索与深度优先搜索
- 方差、标准差和均方根误差的区别总结
- 小学如何开展创客教育教学工作
- 记录学习《流畅的python》的一些知识-----对象引用,可变性和垃圾回收
- 202106C语言二级真题
- cloud-init 典型应用 - 每天5分钟玩转 OpenStack(174)
热门文章
- 十一、python生成器和迭代器
- 强化顶层设计 巩固网络安全
- 《C语言深度解剖》学习笔记之内存管理
- (转)ScriptManager.RegisterStartupScript方法和Page.ClientScript.RegisterStartupScript() 方法...
- morphological antialiasing
- 团购“罗生门”渐退行业舞台 千团大战仍需企业自律
- jQuery 方法 属性
- 配置ISCSI客户端(LINUX)
- JavaScript 设计模式核⼼原理与应⽤实践之单例模式——Vuex的数据管理哲学
- 2019年IT界,程序员是否不好找工作了?