Tiefe Kopie und flache Kopie in Python

巴扎黑
Freigeben: 2016-11-29 11:35:41
Original
1036 Leute haben es durchsucht

copy.copy flache Kopie kopiert nur das übergeordnete Objekt und nicht die internen untergeordneten Objekte des Objekts.

copy.deepcopy Objekt und seine Unterobjekte tief kopieren

Beispiel:

>>> import copy

>> > ; a=[1,2,3,4,['a','b']]

>>> Es entspricht jetzt B und A, die auf denselben Speicherbereich verweisen.

Jede Änderung von A wird synchronisiert.

& gt; ) #shallow copy copy . Äquivalent dazu, dass c und a jetzt zwei separate Speicherbereiche sind

>>> d=copy.deepcopy(a) # Deep copy. Entspricht einem völlig unabhängigen Speicherbereich

>>>                                                                                                                                                                   wirkt sich auf die flache Kopie aus? ;> a[4].append('c') # Dies ist ein internes Unterobjekt und hat keinen Einfluss darauf. Das heißt, es zeigt immer noch auf ein Stück von

>>> 3, 4, ['a', 'b', 'c'], 5]

>>> print 'b',b

b [1, 2, 3, 4, ['a', 'b', 'c'], 5]

>>> print 'c',c

c [1, 2, 3, 4, ['a', 'b', 'c']]

>>> print 'd',d

d [1, 2, 3, 4, ['a', 'b']]

>>>

Wenn sie kopiert werden, sind sie unabhängig voneinander.

Wie bei copy.copy wird tatsächlich eine flache Kopie erstellt, da es sich um das übergeordnete Objekt handelt. Das übergeordnete Objekt ist also nicht betroffen und es gibt zwei separate Bereiche.

Fazit: Was auch immer kopiert wird, ist ein separater Speicherbereich. Es ist vom Originalspeicher getrennt. Egal wie Sie es ändern, es hat keine Auswirkungen auf mich

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!