鱼C论坛

 找回密码
 立即注册
12
返回列表 发新帖
楼主: 无符号整形

[技术交流] 【啥?我的墙头草“枯萎”了!】Python的对象

[复制链接]
发表于 2018-7-25 19:44:54 | 显示全部楼层

回帖奖励 +1 鱼币

召唤大法
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-26 11:09:20 | 显示全部楼层

回帖奖励 +1 鱼币

不知道。。我感觉我面对类对象我就好像感觉不会再爱了 爱的痛了 痛的哭了 哭的累了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-26 11:34:11 | 显示全部楼层

回帖奖励 +1 鱼币

是指针吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2018-7-26 12:50:48 | 显示全部楼层

回帖奖励 +1 鱼币

提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-27 13:33:51 | 显示全部楼层

回帖奖励 +1 鱼币

楼主好人,支持楼主!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-27 16:36:47 | 显示全部楼层

回帖奖励 +1 鱼币

xiamizhouzhou
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-29 13:43:29 | 显示全部楼层

回帖奖励 +1 鱼币

aaaaaaaaaaaaaa
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-30 12:58:45 | 显示全部楼层

回帖奖励 +1 鱼币

我又去看看相关的资料
发现和楼主所说的不一样
进行了相应的尝试
>>> list1 = [1,2,3]
>>> list2 = list1.copy()
>>> list1[0] = 0
>>> print(list1)
[0, 2, 3]
>>> print(list2)
[1, 2, 3]

也可以使用内置函数 id() ,发现 list1和 list2 指向内存中同一个对象
>>> list1 = [[1, 2,], 3, '清明']
>>> list2 = list1.copy()
>>> list1[0][0] = 5
>>> print(list1)
[[5, 2], 3, '清明']
>>> print(list2)
[[5, 2], 3, '清明']
>>> list1.append(10)
>>> print(list1)
[[5, 2], 3, '清明', 10]
>>> print(list2)
[[5, 2], 3, '清明']

>>> list1 = [[1, 2,], 3, '清明']
>>> list2 = list1[:]
>>> list1[0][0] = "蝶恋花"
>>> print(list1)
[['蝶恋花', 2], 3, '清明']
>>> print(list2)
[['蝶恋花', 2], 3, '清明']
>>> list1 = [[1, 2,], 3, '清明']
>>> list2 = list1[:]
>>> list1[0][0] = "对父对象的子对象进行更改"
>>> 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 方法,完全拷贝了父对象及其子对象。原始对象的改变不会造成深拷贝里任何子元素的改变

有的地方我也表述的不是很到位。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-30 13:33:44 | 显示全部楼层

回帖奖励 +1 鱼币

很棒  才开始学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-31 01:54:28 | 显示全部楼层
不知道,所以看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-2 16:31:14 | 显示全部楼层

回帖奖励 +1 鱼币

看一下  感觉是必要学习的东西
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-20 14:59:15 From FishC Mobile | 显示全部楼层
看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-8-20 15:12:38 | 显示全部楼层
回复看秘密
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-21 13:37:37 | 显示全部楼层
地址
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-8-21 14:40:01 | 显示全部楼层
学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-9-7 20:59:25 | 显示全部楼层
233
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-3-31 23:08:08 | 显示全部楼层
坚持学习!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-14 17:50:07 | 显示全部楼层
想看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-19 14:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表