Heim  >  Artikel  >  Backend-Entwicklung  >  Python-Kopierobjekte (Deep Copy Deepcopy und Shallow Copy Copy)

Python-Kopierobjekte (Deep Copy Deepcopy und Shallow Copy Copy)

高洛峰
高洛峰Original
2017-01-19 11:31:491516Durchsuche

1. Die flache Kopie copy.copy kopiert nur das übergeordnete Objekt und nicht die internen untergeordneten Objekte des Objekts.
2. copy.deepcopy Deep Copy-Objekt und seine Unterobjekte
Ein gutes Beispiel:

import copy
a = [1, 2, 3, 4, ['a', 'b']]  #原始对象

b = a  #赋值,传对象的引用
c = copy.copy(a)  #对象拷贝,浅拷贝
d = copy.deepcopy(a)  #对象拷贝,深拷贝

a.append(5)  #修改对象a
a[4].append('c')  #修改对象a中的['a', 'b']数组对象

print 'a = ', a
print 'b = ', b
print 'c = ', c
print 'd = ', d
Ausgabeergebnis:
a = [1, 2, 3, 4, ['a', 'b', 'c'], 5]
b = [1, 2, 3, 4, ['a', 'b', 'c'], 5]
c = [1, 2, 3, 4, ['a', 'b', 'c']]

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

Weitere Artikel zu Python-Kopierobjekten (Deep Copy Deepcopy und Shallow Copy Copy) finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
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