小编Prz*_*emo的帖子

用OrderedDict替换对象的默认__dict__

我的代码中有两个类.firstsecond继承的父.

class first(object):
    def __init(self,**kwargs):  
        pass

    def __setattr__(self,name,value):
        self.__dict__[name] = value

class second(first):
    def do_something(self):
        self.a = 1
        self.b = 2
        self.c = 3
Run Code Online (Sandbox Code Playgroud)

当我打印第二类(例如second.__dict__)时,我得到无序字典.这很明显.我想更改此行为以使用OrderedDict该类获取有序字典,但它不起作用.我正在first通过以下方式更改实现:

class first(OrderedDict):   
    def __init__(self,**kwargs):  
        super(first,self).__init__(**kwargs)  
    def __setattr__(self,name_value):  
        super(first,self).__setattr__(name_value)  
Run Code Online (Sandbox Code Playgroud)

我想second__dict__或打印__repr__,但我得到了无序字典.我应该改变什么?

python dictionary ordereddictionary

4
推荐指数
2
解决办法
4529
查看次数

标签 统计

dictionary ×1

ordereddictionary ×1

python ×1