Python付与、浅いコピー、深いコピー

692 ワード

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']]

1、割り当て:リファレンスコピー2、浅いコピー:オブジェクトとオブジェクトに含まれるオブジェクトのリファレンスをコピー3、深いコピー:オブジェクトとオブジェクトに含まれるオブジェクトをコピー