我的课程定义如下:
class Table:
order = {}
id = None
state = None
我有一个字典,其中包含具有键索引的键值对,值是表对象。
dict{1: table_object}
现在我想获取表对象并将详细信息复制到另一个对象,例如:
new_object = dict[1]
如何更改类或将详细信息复制到另一个对象?
答案 0 :(得分:3)
如果要创建类的副本并将其分配给新对象,可以使用copy:
from copy import copy
new_object = copy(dict[1])
根据课程结构的不同,您可能需要进行深度复制。浅拷贝只会将引用复制到初始类中找到的对象。 deepcopy
将尝试递归复制原始类中的所有对象。如果您的类中有一些递归结构,可能会出现问题,但在大多数情况下,这不会成为问题。
from copy import deepcopy
new_object = deepcopy(dict[1])
有关详情,请参阅此处 - https://docs.python.org/2/library/copy.html