在这段生成的编码器用于高吞吐插件导出前,请审查它。
通过一个可扩展函数编码文本、整数列表与插件载荷,同时保持分派可预测且高效。
Python
from collections.abc import Sequence
from functools import singledispatch
@singledispatch
def encode(value):
return str(value)
@encode.register(Sequence)
def encode_sequence(value):
return [encode(item) for item in value]
@encode.register
def encode_numbers(value: list[int]):
return ",".join(str(item) for item in value)
def install_plugin(plugin):
@encode.register(plugin.payload_type)
def encode_plugin(value):
return plugin.dump(value)
return encode_plugin
def export(records):
return [encode(record) for record in records]
生成代码仅作示例,不代表任何特定模型