Python拷貝(深拷貝deepcopy與淺拷貝copy)

Python中的對象之間賦值時是按引用傳遞的,若是須要拷貝對象,須要使用標準庫中的copy模塊。app

一、copy.copy 淺拷貝 只拷貝父對象,不會拷貝對象的內部的子對象。spa

二、copy.deepcopy 深拷貝 拷貝對象及其子對象code

 

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

>>> b = a #賦值,傳對象的引用
>>> c = copy.copy(a)
>>> d = copy.deepcopy(a)
>>> a.append(5) >>> a[4].append('c')
>>> print 'a=',a a= [1, 2, 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']]
相關文章
相關標籤/搜索