不知道。。我感觉我面对类对象我就好像感觉不会再爱了 爱的痛了 痛的哭了 哭的累了{:10_266:} 是指针吧 楼主好人,支持楼主! xiamizhouzhou aaaaaaaaaaaaaa 我又去看看相关的资料
发现和楼主所说的不一样
进行了相应的尝试
>>> list1 =
>>> list2 = list1.copy()
>>> list1 = 0
>>> print(list1)
>>> print(list2)
也可以使用内置函数 id() ,发现 list1和 list2 指向内存中同一个对象
>>> list1 = [, 3, '清明']
>>> list2 = list1.copy()
>>> list1 = 5
>>> print(list1)
[, 3, '清明']
>>> print(list2)
[, 3, '清明']
>>> list1.append(10)
>>> print(list1)
[, 3, '清明', 10]
>>> print(list2)
[, 3, '清明']
>>> list1 = [, 3, '清明']
>>> list2 = list1[:]
>>> list1 = "蝶恋花"
>>> print(list1)
[['蝶恋花', 2], 3, '清明']
>>> print(list2)
[['蝶恋花', 2], 3, '清明']
>>> list1 = [, 3, '清明']
>>> list2 = list1[:]
>>> list1 = "对父对象的子对象进行更改"
>>> print(list1)
[['对父对象的子对象进行更改', 2], 3, '清明']
>>> print(list2)
[['对父对象的子对象进行更改', 2], 3, '清明']
>>> list1.append("对父对象进行更改")
>>> print(list1)
[['对父对象的子对象进行更改', 2], 3, '清明', '对父对象进行更改']
>>> print(list2)
[['对父对象的子对象进行更改', 2], 3, '清明']
赋值不是浅拷贝。
赋值:对象的引用(别名)。用一个变量给另一个变量赋值,其实就是给当前内存中的对象增加一个“标签”而已。对象赋值实际上是对象的引用。当创建一个变量,然后把它赋给另一个变量的时候,python并没有拷贝这个对象,而只是拷贝了这个对象的引用。
浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象。如果原始对象的父对象改变,而子对象不变,拷贝得到的父对象不会跟着改变;如果原始对象的父对象里的子对象改变,则拷贝得到的父对象的字对象也会跟着改变。(浅拷贝:拷贝组合对象,不拷贝子对象)
常见的浅拷贝有:切片操作(mylist2 =mylist1[:])、工厂函数、对象的copy()方法(mylist2 =mylist1.copy())、copy模块中的copy函数
深拷贝(deepcopy): copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象。原始对象的改变不会造成深拷贝里任何子元素的改变
有的地方我也表述的不是很到位。 很棒才开始学习 不知道,所以看看 看一下感觉是必要学习的东西 看看 回复看秘密 地址 学习 233 坚持学习! 想看
页:
1
[2]