Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中公开序列化函数_Python_Design Patterns_Serialization - Fatal编程技术网

在Python中公开序列化函数

在Python中公开序列化函数,python,design-patterns,serialization,Python,Design Patterns,Serialization,在Python中公开二进制序列化函数的首选方法是什么 我有时使用或编写解析器进行二进制序列化,并且遇到了几种公开序列化/反序列化函数的方法: 和模块中的卸载和加载 使用 使用serialize()和deserialize()函数 下面是具有上述功能的消息对象的原型: class Message(object): @staticmethod def dumps(obj): pass @staticmethod def loads(bytes_

在Python中公开二进制序列化函数的首选方法是什么

我有时使用或编写解析器进行二进制序列化,并且遇到了几种公开序列化/反序列化函数的方法:

  • 和模块中的卸载和加载
  • 使用
  • 使用serialize()和deserialize()函数
下面是具有上述功能的消息对象的原型:

class Message(object):

    @staticmethod
    def dumps(obj):
        pass

    @staticmethod
    def loads(bytes_object):
        pass

    def __bytes__(self):
        pass

    @classmethod
    def from_bytes(cls, bytes_object):
        pass

    def serialize(self):
        pass

    @classmethod
    def deserialize(cls, bytes_object):
        pass

有没有更好的方法?如果没有,哪一个更常见?

由于我看不出这个问题是如何客观化的,所以被否决了。我认为没有一个普遍的“首选”例子。你提到的3个选项都是合理的。