ホームページ  >  記事  >  バックエンド開発  >  Python コピー オブジェクト (ディープ コピー deepcopy およびシャロー コピー copy)

Python コピー オブジェクト (ディープ コピー deepcopy およびシャロー コピー copy)

高洛峰
高洛峰オリジナル
2017-01-19 11:31:491516ブラウズ

1. copy.copy 浅いコピーは親オブジェクトのみをコピーし、オブジェクトの内部の子オブジェクトはコピーしません。
2. copy.deepcopy ディープ コピー オブジェクトとそのサブオブジェクト
良い例:

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
出力結果:
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']]

その他の Python コピー オブジェクト (ディープ コピー deepcopy とシャロー コピー copy) 関連にご注意ください記事については PHP 中国語 Web サイトにアクセスしてください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。