将对象转换为字典时,保留初始化顺序吗?

时间:2019-03-28 00:43:08

标签: python-3.x dictionary

我正在尝试保留python类初始化的顺序,类似于您可能想到的C语言中的结构字段。

import struct
from collections import OrderedDict

class MyClass(OrderedDict):
     PACKET_FORMAT = '<BBB'
     def __init__(self, packet):
         super(MyClass, self).__init__()
         (a, b, c) = struct.unpack(self.PACKET_FORMAT, packet)
         self.a = a
         self.b = b
         self.c = c

mc = MyClass(bytearray([0x01, 0x02, 0x03]))
print(mc.__dict__)

我认为OrderedDict在这里很重要,但似乎没有意义。我的订单未保存:

{'a': 1, 'c': 3, 'b': 2}

我期望/想要:

{'a': 1, 'b': 2, 'c': 3}

0 个答案:

没有答案