zoukankan      html  css  js  c++  java
  • Python 回调函数

    什么是回调函数?

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

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

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

    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。

  • 相关阅读:
    C语言程序设计习题参考答案
    C语言程序设计 数据类型转换
    C语言程序设计 练习题参考答案 第二章
    计算机等级考试二级C语言考试复习五要点
    计算机等级考试二级快速复习法
    C语言程序设计 辗转相除法
    ReportViewer (RDLC) 中的换行符是什么
    关于axis2中对soapfault的处理的一个小bug
    java多线程中利用优先级来分配CPU时间的实例
    马云演讲
  • 原文地址:https://www.cnblogs.com/mengyu/p/9407489.html
Copyright © 2011-2022 走看看