from typing import Callable class BaseFunctor: """ 基础函数器类, 提供数据处理的基本框架 该类实现了数据处理的基本接口, 包括数据推送、处理和回调机制。 所有具体的功能实现类都应该继承这个基类。 属性: _data (dict): 存储处理数据的字典 _callback (Callable): 处理完成后的回调函数 _model (dict): 存储模型相关的配置和实例 """ def __init__(self, data: dict or bytes = {}, callback: Callable = None, model: dict = {}, ): """ 初始化函数器 参数: data (dict or bytes): 初始数据, 可以是字典或字节数据 callback (Callable): 处理完成后的回调函数 model (dict): 模型相关的配置和实例 """ self._data: dict = {} self.push_data(data) self._callback: Callable = callback self._model: dict = model pass def __call__(self, data = None): """ 使类实例可调用, 处理数据并触发回调 参数: data: 要处理的数据, 如果为None则处理已存储的数据 返回: 处理结果 """ # 如果传入数据, 则压入数据 if data is not None: self.push_data(data) # 处理数据 result = self.process() # 如果回调函数存在, 则触发回调 if self._callback is not None and callable(self._callback): self._callback(result) return result def __add__(self, other): """ 重载加法运算符, 用于合并数据 参数: other: 要合并的数据 返回: self: 返回当前实例, 支持链式调用 """ self.push_data(other) return self def set_callback(self, callback: Callable): """ 设置回调函数 参数: callback (Callable): 新的回调函数 """ self._callback = callback def set_model(self, model: dict): """ 设置模型配置 参数: model (dict): 新的模型配置 """ self._model = model def push_data(self, data): """ 推送数据到处理器 参数: data: 要处理的数据 """ pass def process(self): """ 处理数据的核心方法 返回: 处理结果 """ pass