2015-07-19 36 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

相關問題