在 Python 中,对象赋值实际上是对象的引用 。当创建一个对象,然后把它赋给另一个变量的时候,Python 并没有拷贝这个对象,而只是拷贝了这个对象的引用,我们称之为浅拷贝 。
在 Python 中,为了使当进行赋值操作时,两个变量互补影响,可以使用 copy 模块中的 deepcopy 方法,称之为深拷贝 。
append() 函数
当 list 类型的对象进行 append 操作时,实际上追加的是该对象的引用 。
【python必背入门代码 python中append怎么用】id() 函数:返回对象的唯一标识,可以类比成该对象在内存中的地址 。
>>>alist = []
>>> num = [2]
>>> alist.append( num )
>>> id( num ) == id( alist[0] )
True
如上例所示,当 num 发生变化时(前提是 id(num) 不发生变化),alist 的内容随之会发生变化 。往往会带来意想不到的后果,想避免这种情况,可以采用深拷贝解决:
alist.append( copy.deepcopy( num ) )
文章插图
- qq空间登陆 qq空间登陆登录电脑版
- 围棋的玩法说明和规则[初学者零基础学围棋入门知识]
- 国际象棋入门基础知识 国际象棋的规则和走法
- 新手瑜伽动作(入门动作图片 瑜伽的基本动作入门)
- 宝骏630升级英国威极汽车音响 入门级改装聆听优雅英伦声
- 好喝的入门威士忌推荐 最好喝的威士忌排行榜
- iPhone充不上电?五个地方排查原因及解决方法,苹果机入门检修
- 敞篷跑车保时捷718价格 保时捷718四座跑车
- 美发基础理论知识 美发颜色入门基础知识视频
- 尼康d3100使用技巧 尼康d3100相机使用方法图解入门教程