为什么必须4/5结果__reduce__返回迭代器?

时间:2014-02-12 11:04:34

标签: python pickle

来自__reduce__docs的可选第4和第5个返回值:

  • 可选地,迭代器(而不是序列)产生连续的列表项。这些列表项将被pickle,并附加到对象...

  • 可选地,迭代器(不是序列)产生连续的字典项,它应该是(key, value)形式的元组。这些项目将被腌制并使用obj[key] = value ...

  • 存储到对象中

为什么这些值需要是迭代器?如果我们有一个要追加的东西列表,我们必须在返回它之前调用iter,这似乎很奇怪。为什么pickle协议需要迭代器,为什么不能为我们调用iter

0 个答案:

没有答案