pythonレプリケーションと参照の使い方分析

1241 ワード

この例では、pythonレプリケーションと参照の使用方法について説明します.皆さんの参考にしてください.具体的な分析は以下の通りである.
単純コピーは参照です

a=[1,23,4]
b=a #    
b.append(2323)
print(a,b) #([1, 23, 4, 2323], [1, 23, 4, 2323])

copyを使用します.copyによる浅いコピー

import copy
c=copy.copy(b)#  
c.append(1)
print(b,c)#([1, 23, 4, 2323], [1, 23, 4, 2323, 1])
list1=[['a'],[1,2,4],[23,'a']]
list_copy=copy.copy(list1)
#   ,        ,                     

#                    
list_copy.append('append')
print(list_copy)#[['a'], [1, 2, 4], [23, 'a'], 'append']
print(list1)#[['a'], [1, 2, 4], [23, 'a']]

#                      ,        
list_copy[1].append('append+')
print(list_copy)#[['a'], [1, 2, 4, 'append+'], [23, 'a'], 'append']
print(list1)#[['a'], [1, 2, 4, 'append+'], [23, 'a']]

copyを使用します.deepcopyは反復コピーを行い、その後、元のオブジェクトに影響を与えることなく新しいオブジェクトのプロパティを変更できますが、効率が低下し、メモリ占有量が上昇します.
list,dict,setなどはx(object)を直接使用することができ,objectは対応するタイプであり,コピーを行うのが最も簡単で最も直接的で効率的な方法である.
ここで述べたことが皆さんのPythonプログラム設計に役立つことを願っています.