Python – 普通函数/lambda匿名函数/类成员函数作为回调函数的用法
本文作者:StubbornHuang
版权声明:本文为站长原创文章,如果转载请注明原文链接!
原文标题:Python – 普通函数/lambda匿名函数/类成员函数作为回调函数的用法
原文链接:https://www.stubbornhuang.com/1252/
发布于:2021年04月08日 22:55:10
修改于:2021年04月08日 22:56:26

本文将简单介绍普通函数、lambda匿名函数、类成员函数作为回调函数的用法,回调函数参数采用不定长tuple参数列表进行传递
1 普通函数作为回调函数
# -*- coding: UTF-8 –*-
def callback_func(*kwargs):
print(kwargs)
def process_callback_func(callback_func):
for i in range(10):
if i % 2 == 0:
callback_func(i,i,i,i,i,i,i)
if __name__ == '__main__':
print('=====>普通函数')
process_callback_func(callback_func)
输出结果:
=====>普通函数
(0, 0, 0, 0, 0, 0, 0)
(2, 2, 2, 2, 2, 2, 2)
(4, 4, 4, 4, 4, 4, 4)
(6, 6, 6, 6, 6, 6, 6)
(8, 8, 8, 8, 8, 8, 8)
2 lambda匿名函数作为回调函数
# -*- coding: UTF-8 –*-
def callback_func(*kwargs):
print(kwargs)
def process_callback_func(callback_func):
for i in range(10):
if i % 2 == 0:
callback_func(i,i,i,i,i,i,i)
if __name__ == '__main__':
print('=====>lambda函数')
process_callback_func(lambda *args:print(args))
输出结果:
=====>lambda函数
(0, 0, 0, 0, 0, 0, 0)
(2, 2, 2, 2, 2, 2, 2)
(4, 4, 4, 4, 4, 4, 4)
(6, 6, 6, 6, 6, 6, 6)
(8, 8, 8, 8, 8, 8, 8)
3 类成员函数作为回调函数
如果回调函数是一个类成员函数,那么调用该回调函数时,第一个参数必须是该类的一个对象,也就是说,必须将该类的对象,作为一个普通参数,传递给调用该回调函数的函数。
# -*- coding: UTF-8 –*-
class basic:
def __init__(self):
pass
def callback(self,*param):
print(param)
def process_obj_callback_func(obj,callback_func):
for i in range(10):
if i % 2 == 0:
callback_func(obj,i,i,i,i)
if __name__ == '__main__':
print('=====>类成员函数')
process_obj_callback_func(basic(),basic.callback)
pass
输出结果:
=====>类成员函数
(0, 0, 0, 0)
(2, 2, 2, 2)
(4, 4, 4, 4)
(6, 6, 6, 6)
(8, 8, 8, 8)
当前分类随机文章推荐
- Python - 运算符/ or // or %的含义和区别 阅读1207次,点赞0次
- Pip - 常用命令(安装,卸载,升级第三方库) 阅读2382次,点赞1次
- Python3爬虫 - requests的请求响应状态码(requests.status_code) 阅读5015次,点赞4次
- Python3 - 正则表达式去除字符串中的特殊符号 阅读11176次,点赞1次
- Python BeautifulSoup的find()和findAll() 阅读2073次,点赞0次
- Python - 使用ffmepg批量转换某个文件夹以及所有子文件夹下所有的视频,修改其帧率/码率/分辨率到另一文件夹,并保留原有文件夹结构 阅读1483次,点赞0次
- Python - 使用python-opencv裁剪原视频为与视频高同宽的视频 阅读801次,点赞0次
- Python - 深度学习训练过程使用matplotlib.pyplot实时动态显示loss和acc曲线 阅读904次,点赞0次
- Python - 使用Opencv-Python库获取本机摄像头视频并保存为视频文件 阅读1587次,点赞0次
- Python3 - 导入模块和函数 阅读2155次,点赞0次
全站随机文章推荐
- 用MFC写一个简易的恶作剧QQ好友的聊天轰炸机 阅读1338次,点赞1次
- 资源分享 - GPU Pro 360 - Guide to Shadows 英文高清PDF下载 阅读1221次,点赞0次
- C++11/std::atomic - 原子变量(不加锁实现线程互斥) 阅读3815次,点赞1次
- C++STL容器 – std::vector容器修改、元素操作总结 push_back,emplace_back,emplace,insert,erase,pop_back,clear,resize,swap 阅读212次,点赞1次
- failed to find an available destination > EOF 阅读10209次,点赞29次
- Duilib - 程序开机自启动 阅读1039次,点赞0次
- 资源分享 - 非均匀有理B样条(第二版,Les Piegl),The NURBS Book中文译文版下载 阅读6329次,点赞8次
- 资源分享 - Game AI Pro 3 - Collected Wisdom of Game AI Professionals 英文高清PDF下载 阅读1013次,点赞0次
- TensorRT - 自带工具trtexec的参数使用说明 阅读1594次,点赞0次
- WordPress - 查询当前登录用户在一天之内的评论总数量 阅读1138次,点赞0次
评论
144