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

时间:2015-07-07 11:01:39

标签: python serialization pickle

在阅读有关python对象时,我经常遇到这两个术语。然而,酸洗和序列化之间存在混淆,因为在我读过的一个地方

  

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

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

2 个答案:

答案 0 :(得分:2)

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

轻描淡写,文字这个:

  

该模块实现了算法,用于将对象转换为一系列字节。 此过程也称为序列化对象。

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

该流程还有其他实现。您可以使用JSON或XML将数据序列化为文本。还有marshal module。其他语言有其他序列化格式; R language has onedoes Java。等

请参阅WikiPedia article on the subject

  

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

Python选择了名称pickle,因为它模拟了Modula-3处理这个问题的过程,它也被称为酸洗。见Pickles: Why are they called that?

答案 1 :(得分:1)

python OrderItem id order_id product_id quantity 1 1 1 5 2 1 2 5 2 2 3 5 中的

指的是一个提供(特定)python对象序列化的模块。

序列化本身是一个更通用的术语。例如,python对象也可以序列化为json。

https://en.wikipedia.org/wiki/Serialization