直接赋值、浅拷贝与深拷贝

转自:https://www.runoob.com/w3cnote/python-understanding-dict-copy-shallow-or-deep.html

直接赋值

b=a直接赋值,a和b都指向同一个对象,b是a的引用:
直接赋值

浅拷贝

b=a.copy(),a和b是独立的对象互不影响,但他们的子对象还是指向同一个对象,互为引用,会相互影响:
图片说明

深拷贝

import copy
b=copy.deepcopy(a)
a和b是独立的对象,他们的子对象也是独立的对象,从头到尾都互不影响:
图片说明

代码实例

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 )
全部评论

相关推荐

2025-12-15 19:41
已编辑
广东工业大学 前端工程师
smile丶snow:尽量保证的一张a4纸吧。为什么工作经历只有公司?如果项目经历是工作里面的,应该写到工作经历里的吧。没有写项目职责,项目全是一个人写的吗?标题大小也好怪。两个项目的分割看不出来是,它和那些项目成功字体是一样大的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务