x = {'course':['python','linux']}
1.直接指派
y = x
傳遞原始對象的引用,而不是一個副本,即y與x指向同一個對象

2.淺複制(拷貝)
y = x.copy()
淺複制(拷貝)産生的對象是新的,但是它的子對象隻是對原對象的一個引用。即x 和 y 是兩個獨立的對象,但他們的子對象還是指向統一對象(是引用)
3.深度複制(拷貝)
import copy
y = copy.deepcopy(x)
深度複制(拷貝),完全拷貝了原對象及其子對象,産生的是一個獨立的新的對象,在新的對象上進行修改不會對原對象産生影響。
4.示例
import copy
x = {'course':['python','linux']}
y1 = x
y2 = x.copy()
y3 = copy.deepcopy(x)
x['course'].append('java')
print x
print y1
print y2
print y3
----------------------------------------
result:
x => {'course': ['python', 'linux', 'java']}
y1 => {'course': ['python', 'linux', 'java']}
y2 => {'course': ['python', 'linux', 'java']}
y3 => {'course': ['python', 'linux']}
Python 直接指派、淺拷貝和深度拷貝解析參考