在阅读有关python对象时,我经常遇到这两个术语。然而,酸洗和序列化之间存在混淆,因为在我读过的一个地方
pickle模块实现了一个转动任意的算法 Python对象转换成一系列字节。此过程也称为 序列化“对象。
如果序列化和酸洗是同一个过程,为什么要为它们使用不同的术语?
答案 0 :(得分:2)
你误读了这篇文章。酸洗和序列化不是同义词,文本也没有声称它们。
轻描淡写,文字说这个:
该模块实现了算法,用于将对象转换为一系列字节。 此过程也称为序列化对象。
我故意删除了模块名称pickle
。该模块实现了一个过程,一个算法,该过程通常称为序列化。
该流程还有其他实现。您可以使用JSON或XML将数据序列化为文本。还有marshal
module。其他语言有其他序列化格式; R language has one,does Java。等
请参阅WikiPedia article on the subject:
在计算机科学中,在数据存储的上下文中,序列化是将数据结构或对象状态转换为可以存储的格式的过程(例如,在文件或内存缓冲区中,或通过网络连接链路传输),稍后在相同或另一个计算机环境中重建。
Python选择了名称pickle
,因为它模拟了Modula-3处理这个问题的过程,它也被称为酸洗。见Pickles: Why are they called that?
答案 1 :(得分:1)
OrderItem
id order_id product_id quantity
1 1 1 5
2 1 2 5
2 2 3 5
中的指的是一个提供(特定)python对象序列化的模块。
序列化本身是一个更通用的术语。例如,python对象也可以序列化为json。