我已经用 C 写了一个 Python 扩展,它能正常工作且没有问题。现在我想要使用 pickle 库。但是从文档中我感到困惑。根据这里的建议,我编写了一个测试的 __reduce__ 函数,用于“扩展”:
是否有任何标准方法可以拥有一个只调用
http://docs.python.org/library/pickle.html#the-pickle-protocol
我不明白"可调用对象"应该是什么。我已经尝试使用PyObject_Type(self)
的结果。这是“可调用”的并且基本上有效,但是当对象被反序列化时,它会调用__init__
,这给我带来了一些麻烦。是否有任何标准方法可以拥有一个只调用
__new__
方法的可调用对象,避免类初始化?
__init__
,这是 pickle 的首选方式。请参阅__getinitargs__
下的内容:“当 unpickle 类实例时,通常不会调用其__init __()
方法。”你正在实现__getinitargs__
吗? - Ricardo Cárdenes