这里有点奇怪的问题。如果我有两个单独的对象,每个对象都有自己的变量和函数,有什么方法可以将这两个对象组合成一个对象?
更具体地说:我有一个包含 15 个变量的对象,然后我有一个 self 对象。我想将这些变量加载到 self.有什么简单的方法可以做到这一点,还是我必须手动完成?
请您参考如下方法:
使用__dict__属性:self.__dict__.update(other.__dict__)
在某些极端情况下这将不起作用,特别是对于类中定义的任何变量,而不是方法(或其他“运行代码”)中定义的变量。
如果你想复制几乎所有的东西:
for k in filter(lambda k: not k.startswith('_'), dir(other)): # avoid copying private items
setattr(self, k, getattr(other, k))
