酸洗和序列化之间有什么区别吗?

Aja*_*pta 4 python serialization pickle

在阅读 Python 对象时,我经常遇到这两个术语。但是,酸洗和序列化之间存在混淆,因为我在一个地方读过

pickle 模块实现了一种将任意 Python 对象转换为一系列字节的算法。这个过程也称为“ 序列化”对象。

如果序列化和酸洗是同一个过程,为什么对它们使用不同的术语?

Mar*_*ers 5

你误读了这篇文章。酸洗和序列化不是同义词,文本也没有声称它们是同义词。

稍微转述一下,文字这样说的

该模块实现了一种将对象转换为一系列字节的算法这个过程也称为序列化对象。

pickle特意删除了模块名称,。该模块实现了一个过程、一个算法,该过程通常称为序列化

该过程还有其他实现。您可以使用 JSON 或 XML 将数据序列化为文本。还有这个marshal模块。其他语言有其他序列化格式;在R输入语言有一个,这样做的Java。等等。

请参阅有关该主题维基百科文章

在计算机科学中,在数据存储的上下文中,序列化是将数据结构或对象状态转换为可以存储(例如,在文件或内存缓冲区中,或通过网络连接链接传输)和重构的格式的过程稍后在相同或其他计算机环境中。

Python 选择这个名字pickle是因为它模拟了在Modula-3 中如何处理这个过程的过程,它也被称为酸洗。见泡菜:他们为什么这么叫?