创建一个与现有类对象相同但不引用i的新类对象

2024-05-16 22:19:12 发布

您现在位置:Python中文网/ 问答频道 /正文

def _replace(self, **kargs):
    for item in kargs.items():
        if item[0] not in self._fields:
            raise TypeError
    if self._mutable:
        for item in kargs.items():
            self.__dict__[item[0]] = item[1]

    else:
        new_self = self
        for item in kargs.items():
            new_self.__dict__[item[0]] = item[1]
        return new_self

我正在处理一个类,其中一个类的参数是可变的,这是真是假,以确定该类是否是可变的。这将保存在self._mutable下。正如您在这段代码中所看到的,我试图创建一个完全独立的类副本,但当我尝试调用这个_replace方法时,它仍然引用旧的副本


Tags: inselffieldsnewforifdef副本