Python:将类对象复制到另一个类

时间:2016-11-08 03:03:45

标签: python oop

我的课程定义如下:

class Table:
    order = {}
    id = None
    state = None

我有一个字典,其中包含具有键索引的键值对,值是表对象。

dict{1: table_object}

现在我想获取表对象并将详细信息复制到另一个对象,例如:

new_object = dict[1]

如何更改类或将详细信息复制到另一个对象?

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