什么是回调函数?

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

  这是官方的解释,理解上有点费解,我自己的理解一个函数要求先传给它一个函数,然后在特定的场景下调用达到完成目标任务。这个被传入后又被调用的函数就称为回调函数。

我们来实现下回调函数,这样更容易理解下这个回调函数

def hello(item):
"""定义问候操作"""
return "Hello,%s" % item def attack(item):
"""定义攻击操作"""
return "Attack,%s" % item def like(item):
"""定义喜欢的操作"""
return "Like,%s" % item def func(item, callback):
"""这里需要传入一个callback,这个callback其实就是回调函数"""
return callback(item)

这里我们定义三种操作,喜欢、攻击、问候,我们可以根据不同的参数来进行调用这三种方法

    item = "World"
if item == "World":
func(item, callback=hello)
elif item == "Gril":
func(item, callback=like)
else:
func(item, callback=attack)

这里我们可以根据我们输入的item不同来进行调用对应的方法,输入World 调用hello ,Gril调用 like,其他的值一律调用attack;

通过上面的例子是不是更容易理解些了。

  之前也没有细细的研究过,面试的时候被问到由于token 过期导致case的执行结果返回的httpcode 401,遇到这样的场景怎么处理,我的反应如果请求的时候需要使用到token认证我这边肯定是首先需要在调用之前生成token,在请求的时候直接取用这个token,避免这样的token过期导致的错误,但是面试官说这里使用回调函数,发现特定的错误的时候通过回调函数重新获取token。

Python 回调函数的更多相关文章

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

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

  2. Python回调函数用法实例

    Python回调函数用法实例 作者:no.body链接:https://www.zhihu.com/question/19801131/answer/27459821 什么是回调函数? 我们绕点远路来 ...

  3. python回调函数应用-获取jenkins构建结果

    需求背景: 现在用jenkins构建自动化测试(2个job),公司现将自动化纳入到发布系统 要求每次构建成功之后,把测试结果发送给发布系统.这就需要先获取jenkins构建的结果,如果构建结束,才能发 ...

  4. 计算机基础,Python - 回调函数,使用装饰器注册回调函数

    1. 参考: https://en.wikipedia.org/wiki/Callback_(computer_programming) https://developer.mozilla.org/e ...

  5. python 回调函数,最简单的例子

    回调的英文定义: A callback is a function that is passed as an argument to another function and is executed ...

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

    因工作需要,最近在学习使用python来解析各种文件,包括xmind,xml,excel,csv等等. 在学习python解析XML的时候看到这样一段话: 3.ElementTree(元素树) Ele ...

  7. python 自定义回调函数

    回调函数用起来比较爽.特别是在js中,满世界全是回调,那么在python中,怎么来优雅地实现自己的回调函数呢 下面贴一个我写的例子 class BaseHandler(object): def cra ...

  8. python 管道 事件(Event) 信号量 进程池(map/同步/异步)回调函数

    ####################总结######################## 管道:是进程间通信的第二种方式,但是不推荐使用,因为管道会导致数据不安全的情况出现 事件:当我运行主进程的 ...

  9. python并发编程之多进程2-------------数据共享及进程池和回调函数

    一.数据共享 1.进程间的通信应该尽量避免共享数据的方式 2.进程间的数据是独立的,可以借助队列或管道实现通信,二者都是基于消息传递的. 虽然进程间数据独立,但可以用过Manager实现数据共享,事实 ...

随机推荐

  1. SparkSql处理嵌套json数据

    一.数据准备: { "dc_id": "dc-101", "source": { "sensor-igauge": { ...

  2. 7.7 GRASP原则七: 纯虚构 Pure Fabrication

    GRASP原则七: 纯虚构 Pure Fabrication  如果依据信息专家原则获得的解决方案不合适,既不想违反低耦合.高内聚,也不想违 反其他的原则, 该如何把职责分配给对象?  左右为难… ...

  3. Java中char和String的相互转换

    转自:http://blog.csdn.net/yaokai_assultmaster/article/details/52082763 Java中char是一个基本类型,而String是一个引用类型 ...

  4. Dockerfile命令大全

    Dockerfile 制作Dockerfile为Docker入门学习的第一步. Dockerfile可以快速的帮助我们去构建镜像, 是在工作中必备的一项技能, 下面整理了一些命令 FROM 功能为指定 ...

  5. Socket中SO_REUSEADDR详解

    1.一般来说,一个端口释放后会等待两分钟之后才能再被使用,SO_REUSEADDR是让端口释放后立即就可以被再次使用. SO_REUSEADDR用于对TCP套接字处于TIME_WAIT状态下的sock ...

  6. python之路-----网络编程

    一:客户端/服务端j架构(C/S架构) 在生活中,最常见的C/S架构即是APP和网页服务器这个架构.Client和Server之间利用网络来进行通信,客户端和服务器端的程序不同,用户的程序主要在客户端 ...

  7. Linux防火墙iptables的基础

    一.网络访问控制 1.Linux一般都是作为服务器系统使用,对外提供一些基于网络的服务 2.通常我们都需要对服务器进行一些网络访问控制,类似防火墙的功能 3.常见的访问控制包括:哪些IP可以访问服务器 ...

  8. jq demo 点击选中元素左右移动

    <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...

  9. 手把手教你实现一个 Vue 进度条组件!

    最近在个人的项目中,想对页面之间跳转的过程进行优化,想到了很多文档或 npm 等都用到的页面跳转进度条,于是便想自己去实现一个,特此记录. 来看下 npm 搜索组件时候的效果: so 下面咱们一起动手 ...

  10. nginx——Nginx 防爬虫优化

    if ($http_user_agent ~* "qihoobot|Baiduspider|Googlebot|Googlebot-Mobile|Googlebot-Image|Mediap ...