如何將類的所有屬性複製到類的新實例。 在下面的例子中,用python的工作方式,當我使用b = a時,它將b和a分配給相同的內存地址。當我對「b」進行更改時,也會對「a」進行更改。 Both elements of the list are stored at the same address如何將類實例的所有屬性複製到新實例
class test:
def __init__(self, name="Name",data=[]):
self.name=name
self.data=data
list=[]
a = test("First Name",["DATA1","DATA2","DATA3"])
b=a
list.append(a)
list.append(b)
我想實現類似列表類如何讓你這樣做是爲了列表複製到新的內存地址的東西。
list1=[1,2,3]
list2=list(list1)
所以在我的情況。
a = test("First Name",["DATA1","DATA2","DATA3"])
b=test(a)
而不必
b=test(a.name,a.data)
EDIT
標識喜歡才達到相同的效果
b=copy.deepcopy(a)
但通過這種用法。
b=test(a)
[python中複製構造]的可能的複製(https://stackoverflow.com/questions/1241148/copy-constructor-in-python) –
一份工作爲了什麼我需要,但是喜歡達到相同的結果沒有複製。就像列表類如何使用list2 = list(list1)id一樣能夠b = test(a) – Philip556677