回调与事件驱动

回调函数有比较重要的意义:它在是事件驱动的体现

我们试想一个场景,如果我们触发了某个事件,比如点击事件

那么只要给这个点击事件绑定一个或多个处理事件,也就是回调函数

我们就可以在点击事件被触发后(结束后)调用相应的方法来处理后事

比如

普通回调

#在函数中使用回调

def click(callback):

eval(callback)() #eval()可以讲字符串解析成可以执行的代码

def handle:

print '在点击事件结束后调用该函数,进行处理,比如弹出框alert()'

if(__name__ == '__main__'):

fun1('fun2')

上面那个场景很显然是模拟我们日常使用浏览器是的一个场景:

当我们点击某个按钮是,可能会弹出一个警告框或者确认框,这可以理解为

点击事件触发后, 调用了这个处理函数,这个函数的功能就是弹出一个警告框或者确认框

从事件驱动来讲: 点击事件的发送驱动这handle处理程序的触发

恩,这样会不会比较清晰?

类中使用回调

因为python从一开始就是面向对象的定位,所以作为python 程序员, 可能会面对如下的场景:

我们创建一个实例, 我们传入数据给这个实例,最后得到我们我们想要的结果,比如我们传给

一个名为 getCsdnTitle的对象一个url(一篇csdn博客的url),我们希望最后得到这篇文章的文字内容,

我们是不是首先地通过http请求获取该url 对应的html内容,给这个方法命名为fetch_url()

然后我们需要对html进行处理,比如过滤,正则匹配,字符串处理,得到我们想要的文字内容,给这个方法命名为

get_content()

这样这个对象内部就需要经过fetch_url 和 get_content 两个方法来得到最后我们需要的结果,而且两者是有明显的

顺序区别的,我们可以理解为调用完fetch_url 后回调 get_content 方法,大家可能会说,这是不是麻烦了很多,

其实,大家要知道,实际开发中这条执行链是可能会很长的,通过回调,我们就可以指定在某个步骤执行完后我们要进行怎么样的

操作,这样逻辑上和理解上都会很有效率

下面举个小例子演示下在类中实现回调的方法

#在类中使用回调方法

#在函数中使用回调

def click(callback):

eval(callback)() #eval()可以讲字符串解析成可以执行的代码

def handle:

print '在点击事件结束后调用该函数,进行处理,比如弹出框alert()'

if(__name__ == '__main__'):

fun1('fun2')

本文标题: python 回调函数和回调方法的实现分析

本文地址: http://www.cppcns.com/jiaoben/python/145568.html

python回调类_python 回调函数和回调方法的实现分析相关推荐

  1. PHP - 回调函数概念与用法实例分析 - 学习/实践

    1.应用场景 主要用于理解回调函数的概念, 对比JavaScript中的回调函数, 更加深刻理解回调函数的本质, 以及如何高效使用~~~ 2.学习/操作 1. 文档阅读 https://www.jb5 ...

  2. 怎么理解回调函数? 回调函数合集

    网上查了一通,有点体会,特来分享与讨论. ******************************************************************************* ...

  3. 什么是回调函数?回调函数有什么缺点?如何解决回调地狱问题?

    什么是回调函数?回调函数有什么缺点?如何解决回调地狱问题? 参考文章: (1)什么是回调函数?回调函数有什么缺点?如何解决回调地狱问题? (2)https://www.cnblogs.com/kzxi ...

  4. java回调函数_PHP回调函数及匿名函数概念与用法详解

    1.回调函数 PHP的回调函数其实和C.Java等语言的回调函数的作用是一模一样的,都是在主线程执行的过程中,突然跳去执行设置的回调函数: 回调函数执行完毕之后,再回到主线程处理接下来的流程 而在ph ...

  5. java 自定义函数的调用_Java/Android中的函数调用回调函数自定义回调函数

    在做Android自定义控件时遇到要自定义回调函数的问题,想想自己还暂时没有那么精深的技术,赶紧返过头回来再重新研究Java中回调函数的问题.然而不幸的是,网上太多杂乱的帖子和博客都是转来转去,而且都 ...

  6. 回调函数中有回调函数吗_嗨,那里有回调!

    回调函数中有回调函数吗 因为是我的书包,所以我喜欢JavaScript . 实际上,我已经开始喜欢JavaScritp的面向异步回调的编程风格 . 因此,当我发现自己处于非JavaScript环境中时 ...

  7. 回调函数与回调地狱及其解决方法 | JavaScript

    JavaScript中的回调函数与回调地狱及其解决方法 以下为整理的思维导图 图片版+文字版 文末附有参考文章链接 知识点思维导图版 一.什么是回调函数 1.MDN的定义 回调函数是作为参数传给另一个 ...

  8. Java回调函数异步回调案例

    1.回调函数分类 回调函数区分:同步回调和异步回调 同步回调:意义只在于完成方法调用: 异步调用:可实现并发,主业务线程可以及时释放:异步线程完成工作,执行回调函数,完成善后工作:提高了执行效率. 2 ...

  9. Java 回调函数(传统方法和lambda方法)-一个例子秒懂

    原文地址为: Java 回调函数(传统方法和lambda方法)-一个例子秒懂 背景: 想写一个工具类 Tool.java ,其中方法 public void readOneLine() 负责一行一行地 ...

最新文章

  1. Java中的BigDecimal类你真的了解吗?
  2. ThreadLocal究竟存不存在内存泄漏?
  3. 分享五个你应该了解的宣言
  4. 《Spring Cloud微服务实战》100本赠书获得名单
  5. 资源不关闭,会导致什么最坏的结果
  6. mac下安装mongodb
  7. [TP5填坑]关于助手函数input一不小心取不到get值的解决办法
  8. 图片md5修改工具_如何修改视频和图片的MD5,用电脑自带的命令
  9. Moodle: 查询 / 更新 / 添加 / 删除 / 导出 用户 ($DB用法)
  10. 【排序算法】插入、选择、堆排、快排、归并、计数
  11. php unset函数 赋值 null来销毁变量
  12. python开发web靠谱吗_Python用来做Web开发的优缺点,你心里必须要记得这些
  13. 【Unity3D插件】Alembic插件分享《abc动画文件导入Unity》
  14. android免费图标_20个免费和高质量的Android图标集—最佳
  15. 训练集和验证集的划分
  16. unity 中的LayerMask用法
  17. 目前几种实时视频流协议对比
  18. 肯德基真的没有什么太多吃的谨慎洋…
  19. 测试iphone硬件好坏的软件,iPhone手机如何检测硬件故障,硬件检测必备技能,建议了解一下...
  20. Flume使用Spooling Directory Source采集文件夹数据到hdfs

热门文章

  1. Ubuntu 编译安装ffmpeg,mplayer,x264全教程支持VDPAU(高清硬解)
  2. Mac下配置ndk/adb
  3. Android apk系列1-------APK签名
  4. Ubuntu安装:解决Unable to locate package *** 问题
  5. 【leetcode】只出现一次的数字(位运算)
  6. linux pkill窗口,在Linux系统中pkill命令的基础,附pkill命令的使用示例
  7. python散点图拟合曲线如何求拟合_python 拟合曲线并求参
  8. oracle1-100,Oracle 批量给某一列循环加数例如从1加到100
  9. matlab画迟滞迥线,[画图的问题]怎么画类似于磁滞回线的图像?一个x值对应两个y值的...
  10. html箭头实现流程箭头,js实现带箭头的进度流程