Hoi,
sorry, ich war eine Weile offline - und an dem Tag dieses letzten Posts hier definitv nicht auf der Höhe. Danke, birkenfeld, daß Du das gerade gerückt hast.
Also, deepcopy verwendet ich tatsächlich nur, um eine tiefe Kopie von "compound" Objekten zu machen. Beispiel:
Code: Alles auswählen
# instanzieren eines Objektes und füttern mit Daten (hier bewußt getrennt)
x = SAXSdata().from_asa(path)
# anschließende tiefe Kopie in eine Liste (hier: datasets)
datasets.append(copy.deepcopy(x))
# auf das x kann man natürlich verzichten
An dieser Stelle ich deepcopy notwendig, weil SAXSdata() ein compound" Objekt ist, d. h. ein Objekt, daß andere Objekte (hier einen Haufen numpy arrays) enthält. Eine tiefe Kopie inseriert hier nur *Kopien* der anderen Objekte in die Kopie des "Masterobjektes" anstelle derselben *Objekte*, wie sie im "Masterobjekt" enthalten sind. Ansonsten kann es dazu führen, daß in einem Namespace nicht das "neue" x, sondern der Inhalt der in einem älteren "x" enthaltenen Objekte an "datasets" gehangen werden.
M.a.W. deepcopy hat zwar seine Berechtigung, aber mein erster Post hier war Blödsinn! Tut mir leid.
Gruß,
Christian