python回调函数用法实例分析


Posted in Python onMay 09, 2015

本文实例讲述了python回调函数用法。分享给大家供大家参考。具体分析如下:

软件模块之间总是存在着一定的接口,从调用方式上,可以把他们分为三类:同步调用、回调和异步调用。同步调用是一种阻塞式调用,调用方要等待对方执行完毕 才返回,它是一种单向调用;回调是一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口;异步调用是一种类似消息或事件的机制,不过它 的调用方向刚好相反,接口的服务在收到某种讯息或发生某种事件时,会主动通知客户方(即调用客户方的接口)。回调和异步调用的关系非常紧密,通常我们使用 回调来实现异步消息的注册,通过异步调用来实现消息的通知。同步调用是三者当中最简单的,而回调又常常是异步调用的基础,因此,这里我们着重讨论回调机制 在不同软件架构中的实现。

#call.py
import called
def callback():
  print "in callback"
def main():
  #called.test()
  called.test_call(callback)
  print "in call.py" 
main()

#called.py
'''''
def test():
  print "in called.py test()"
'''
def test_call(p_call):
  print "in called.py test_call()"
  p_call()

joe@joe:~/test/python$ python call.py
in called.py test_call()
in callback
in call.py
joe@joe:~/test/python$

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
Python运用于数据分析的简单教程
Mar 27 Python
理解python正则表达式
Jan 15 Python
Python对数据库操作
Mar 28 Python
Python cookbook(数据结构与算法)从序列中移除重复项且保持元素间顺序不变的方法
Mar 13 Python
Python 学习教程之networkx
Apr 15 Python
Python实现html转换为pdf报告(生成pdf报告)功能示例
May 04 Python
PyQt5 控件字体样式等设置的实现
May 13 Python
win10下python3.8的PIL库安装过程
Jun 08 Python
Pytorch实现将模型的所有参数的梯度清0
Jun 24 Python
利用Python的folium包绘制城市道路图的实现示例
Aug 24 Python
python 爬虫请求模块requests详解
Dec 04 Python
python使用opencv对图像添加噪声(高斯/椒盐/泊松/斑点)
Apr 06 Python
python类和函数中使用静态变量的方法
May 09 #Python
Python实用日期时间处理方法汇总
May 09 #Python
python fabric使用笔记
May 09 #Python
Python字符串详细介绍
May 09 #Python
Python urllib、urllib2、httplib抓取网页代码实例
May 09 #Python
python MySQLdb Windows下安装教程及问题解决方法
May 09 #Python
Python MySQLdb Linux下安装笔记
May 09 #Python
You might like
动态新闻发布的实现及其技巧
2006/10/09 PHP
php 无限极分类
2008/03/27 PHP
如何利用PHP执行.SQL文件
2013/07/05 PHP
php防止sql注入示例分析和几种常见攻击正则表达式
2014/01/12 PHP
非主流的textarea自增长实现js代码
2011/12/20 Javascript
JQuery中判断一个元素下面是否有内容或者有某个标签的判断代码
2012/02/02 Javascript
7款吸引人眼球的jQuery/CSS3特效实例分享
2013/04/25 Javascript
jquery 扑捉回车键事件代码
2014/04/24 Javascript
javascript继承机制实例详解
2014/11/20 Javascript
javascript中一些util方法汇总
2015/06/10 Javascript
Knockout自定义绑定创建方法
2015/12/26 Javascript
基于jquery实现无限级树形菜单
2016/03/22 Javascript
JavaScript 函数模式详解及示例
2016/09/07 Javascript
JavaScript运动框架 多值运动(四)
2017/05/18 Javascript
深入理解jquery的$.extend()、$.fn和$.fn.extend()
2017/07/08 jQuery
详解vue 模拟后台数据(加载本地json文件)调试
2017/08/25 Javascript
[js高手之路]原型式继承与寄生式继承详解
2017/08/28 Javascript
详解angularjs popup-table 弹出框表格指令
2017/09/20 Javascript
JS写滑稽笑脸运动效果
2020/05/28 Javascript
react ant Design手动设置表单的值操作
2020/10/31 Javascript
[05:46]DOTA2英雄梦之声_第18期_陈
2014/06/20 DOTA
[52:05]EG vs OG 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
[02:22]完美世界DOTA2联赛PWL S3 集锦第一期
2020/12/15 DOTA
使用python编写批量卸载手机中安装的android应用脚本
2014/07/21 Python
python转换字符串为摩尔斯电码的方法
2015/07/06 Python
python中(str,list,tuple)基础知识汇总
2018/02/20 Python
对python读取CT医学图像的实例详解
2019/01/24 Python
python编写简单端口扫描器
2019/09/04 Python
宝信软件JAVA工程师面试经历
2012/08/19 面试题
求两个数的乘积和商数,该作用由宏定义来实现
2013/03/13 面试题
为什么需要版本控制?
2013/08/08 面试题
如何定义一个可复用的服务
2014/09/30 面试题
差生评语大全
2014/05/04 职场文书
县长群众路线对照检查材料思想汇报
2014/10/02 职场文书
2019升学宴主持词范本5篇
2019/10/09 职场文书
与Windows10相比Windows11有哪些改进?值不值得升级?
2021/11/21 数码科技