2015-07-19 35 views
1

是否有一种简单的方法将一个类的属性设置为等于同一类的另一个实例?Python:如何将类变量设置为相同类型的另一个类

class Foo: 
    def __init__(self, a, b): 
     self.a = a 
     self.b = b 

def main(): 
    classOne = Foo(1,2) 
    classTwo = Foo(3,4) 


    # DESIRED: 
    classOne = classTwo # How can I easily set the 'a' and 'b' of classOne = classTwo? 

if __name__ = "__main__": 
    main() 

我知道这样的事情会工作:

classOne.a = classTwo.a 
classOne.b = classTwo.b 

但是,有没有更好的方式来与多个变量的类做到这一点?

谢谢你的帮助!

+0

['copy.deepcopy()'](https://docs.python.org/2/library/copy.html#copy.deepcopy)听起来像你正在寻找 – NightShadeQueen

回答

2

这是你在找什么:

import copy 
classOne = copy.deepcopy(classTwo) 

看看在python docs这一点。深层副本将创建一个具有与classTwo相同的所有属性值的新类(您将其设置为classOne)实例。

import copy 

class Foo: 
    def __init__(self, a, b): 
     self.a = a 
     self.b = b 

def main(): 
    classTwo = Foo(3,4) 
    classOne = copy.deepcopy(classTwo) 
+1

什么工作就像一个魅力。谢谢! – jsmiao

相关问题