替代 __init__

Alternative to __init__

我有一个 Python class 具有以下 __init__ 方法:

class MyClass(ParentClass):
    def __init__(self, **kwargs):
        my_list = OrderedDict[
            (1, 'abc'),
            (2, 'def'),
            (3, 'ghi'),
        ]

我想用这样的功能来改变 my_list:

def process_my_list(self):
    new_list = self.my_list.__class__()
    for index, item in self.my_list.items():
        # process index or item
        new_list[index] = new_item
    self.my_list.clear()
    self.my_list.update(new_list)

我想实现这个来改变表单的步骤列表。但是,在动态形式的情况下,每个步骤都是单独的实例,因此每个步骤都会调用 __init__ 。结果,my_list 总是 returns 回到它以前的状态。 如何在不恢复列表的情况下更新此列表?到目前为止我已经尝试过:

请帮忙。

如果您希望将 my_list 设为 class 属性:

class MyClass(ParentClass):
    my_list = OrderedDict([
        (1, 'abc'),
        (2, 'def'),
        (3, 'ghi')
    ])

    def __init__(self, **kwargs):
        pass

    @classmethod
    def process_my_list(cls):
        new_list = OrderedDict()
        for index, item in cls.my_list.items():
            # process index or item
            new_list[index] = new_item
        cls.my_list = new_list