在Python中,对象赋值实际上是对象的引用 。当创建一个对象,然后把它赋给另一个变量的时候,Python并没有拷贝这个对象,而只是拷贝了这个对象的引用,我们称之为浅拷贝 。在
在 Python 中,对象赋值实际上是对象的引用 。当创建一个对象,然后把它赋给另一个变量的时候,Python 并没有拷贝这个对象,而只是拷贝了这个对象的引用,我们称之为浅拷贝 。
在 Python 中,为了使当进行赋值操作时,两个变量互补影响,可以使用 copy 模块中的 deepcopy 方法,称之为深拷贝 。
append() 函数
当 list 类型的对象进行 append 操作时,实际上追加的是该对象的引用 。
id() 函数:返回对象的唯一标识,可以类比成该对象在内存中的地址 。
>>>alist = []
>>> num = [2]
>>> alist.append( num )
>>> id( num ) == id( alist[0] )
True
如上例所示,当 num 发生变化时(前提是 id(num) 不发生变化),alist 的内容随之会发生变化 。往往会带来意想不到的后果,想避免这种情况,可以采用深拷贝解决:
alist.append( copy.deepcopy( num ) )
【python必背入门代码 python中append怎么用】
文章插图
推荐阅读
- 吉他入门零基础自学简谱「吉他入门零基础自学简谱教学」
- 金口诀入门
- 微积分快速入门 微积分入门教程
- 新手烘焙入门面包 曲奇怎么做
- 八字新手入门:算命的步骤
- 过山车之星新手入门攻略,你还是不敢玩儿吗?
- 算八字必背口诀
- 好喝的入门威士忌推荐 最好喝的威士忌排行榜
- 八字算命教学视频入门
- 室内风水学入门知识