python 赋值 浅copy_python – 浅拷贝,deepcopy和正常赋值操作之间的区别是什么?
import copy
a=”deepak”
b=1,2,3,4
c=[1,2,3,4]
d={1:10,2:20,3:30}
a1=copy.copy(a)
b1=copy.copy(b)
c1=copy.copy(c)
d1=copy.copy(d)
print "immutable - id(a)==id(a1)",id(a)==id(a1)
print "immutable - id(b)==id(b1)",id(b)==id(b1)
print "mutable - id(c)==id(c1)",id(c)==id(c1)
print "mutable - id(d)==id(d1)",id(d)==id(d1)
我得到以下結果 –
immutable - id(a)==id(a1) True
immutable - id(b)==id(b1) True
mutable - id(c)==id(c1) False
mutable - id(d)==id(d1) False
如果我執行deepcopy –
a1=copy.deepcopy(a)
b1=copy.deepcopy(b)
c1=copy.deepcopy(c)
d1=copy.deepcopy(d)
結果相同 –
immutable - id(a)==id(a1) True
immutable - id(b)==id(b1) True
mutable - id(c)==id(c1) False
mutable - id(d)==id(d1) False
如果我在分配操作 –
a1=a
b1=b
c1=c
d1=d
那么結果是 –
immutable - id(a)==id(a1) True
immutable - id(b)==id(b1) True
mutable - id(c)==id(c1) True
mutable - id(d)==id(d1) True
有人可以解釋什么確切地使副本之間的區別,是它與可變和相關的東西。不可變對象,如果可以請你解釋一下嗎?
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的python 赋值 浅copy_python – 浅拷贝,deepcopy和正常赋值操作之间的区别是什么?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql server5.0使用_sc
- 下一篇: websocket python爬虫_p