python回调函数使用及示例

回调函数一般用于对于结果的编程,或是在异步操作中执行,是在一般顺序编程的基础上,外加一个通用的处理模块,让代码更加简洁高效。一个简单的示例程序:

def some_action(value):
    return value + 1


def run_main(user_id, func, value):  # 回调函数,这里的功能是记录日志
    print(f"函数运算 | USER_ID:{user_id}, FUNC:{func.__name__}, VALUE:{value}")
    print(f"结果记录 | USER_ID:{user_id}, RESULT:{func(value)}")  # 记录结果


def main():
    user_id = "123456"
    run_main(user_id, some_action, 1)
    run_main(user_id, some_action, 2)
    run_main(user_id, some_action, 3)


if __name__ == '__main__':
    main()

在这个函数中,some_action称为回调函数,run_main称为中间函数。在上面的逻辑中,回调函数执行了一个具体的操作(value+1),而中间函数对这个操作的调用和结果都进行了记录,而在使用的时候,我们看到的是main函数。这是回调函数一般的逻辑过程。

稍微复杂一点,我们会基于回调函数的功能返回不同的结果:

import random

def some_action():
    return random.choice([200, 404, 500])

def run_main(user_id, func):  # 回调函数,这里的功能是记录日志
    result = func()
    if result == 200:
        return 200, "访问成功"
    elif result == 404:
        return 404, "页面不存在"
    elif result == 500:
        return 500, "逻辑错误"

def main():
    user_id = "123456"
    result_code, result_str = run_main(user_id, some_action)
    if result_code == 200:
        print('访问成功')
    else:
        print(f'访问失败,代码{result_code},反馈{result_str}')

if __name__ == '__main__':
    main()

在这个程序中,main()中只有看到run_main()这个函数,这里通过回调就可以根据不同的some_action()的具体反馈,给与不同的逻辑,将逻辑都写在run_main()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

呆萌的代Ma

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值